<!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: Data Fields - Variables</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>
</div><!-- top -->
<!-- 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 class="contents">
&#160;

<h3><a id="index_a"></a>- a -</h3><ul>
<li>a
: <a class="el" href="structFP12__BLS381.html#a01cf792bcd5b249eec79bf28b79d0e2b">FP12_BLS381</a>
, <a class="el" href="structFP12__BLS383.html#a7f9e731a1e0ebc89339ac41e33a98f9a">FP12_BLS383</a>
, <a class="el" href="structFP12__BLS461.html#a3381c09b26e4f1c9bf3e723a947a5c25">FP12_BLS461</a>
, <a class="el" href="structFP12__BN254.html#a2b7db8767cb02dedf899175611ad76d5">FP12_BN254</a>
, <a class="el" href="structFP12__BN254CX.html#a931211b2d8ca389cbb082974223834bb">FP12_BN254CX</a>
, <a class="el" href="structFP12__FP256BN.html#a618c0c0e9fabdd7c4c054be01f601469">FP12_FP256BN</a>
, <a class="el" href="structFP12__FP512BN.html#a64dc28a2ee131075a24742a955e33600">FP12_FP512BN</a>
, <a class="el" href="structFP16__BLS48.html#a0c2f448d1ce68c7ed19f02baf2c11bb0">FP16_BLS48</a>
, <a class="el" href="structFP24__BLS24.html#af88106322dd78f906fa88a7ad1ec7285">FP24_BLS24</a>
, <a class="el" href="structFP2__BLS24.html#a269f0c3fe5a5e808526e51de565d0fdd">FP2_BLS24</a>
, <a class="el" href="structFP2__BLS381.html#a509fea18dcd7950f4e1b5e273406fe50">FP2_BLS381</a>
, <a class="el" href="structFP2__BLS383.html#ae6c11a0b60558c7c217006011db3245b">FP2_BLS383</a>
, <a class="el" href="structFP2__BLS461.html#a51dd2dfb3fafbb1f8356ae12e8a0ee74">FP2_BLS461</a>
, <a class="el" href="structFP2__BLS48.html#a2547e83216e49e8948697238b17708ba">FP2_BLS48</a>
, <a class="el" href="structFP2__BN254.html#a0404699fc23930d177c43bc36023563b">FP2_BN254</a>
, <a class="el" href="structFP2__BN254CX.html#a681bf9cafacaf7d8e7b5e3e86af924f5">FP2_BN254CX</a>
, <a class="el" href="structFP2__FP256BN.html#ad06649f156e9ec89922e95cada7b8b67">FP2_FP256BN</a>
, <a class="el" href="structFP2__FP512BN.html#a808d4f588886d7abdc5cda7e8165bd25">FP2_FP512BN</a>
, <a class="el" href="structFP48__BLS48.html#ad86d320df1e4fed7ece02b11d8ccf757">FP48_BLS48</a>
, <a class="el" href="structFP4__BLS24.html#a53cbdb8a88cd252aa2f62cbfcf7eaa8c">FP4_BLS24</a>
, <a class="el" href="structFP4__BLS381.html#a899f33e45062a3d340930fa31b1965d4">FP4_BLS381</a>
, <a class="el" href="structFP4__BLS383.html#a75d5eddfc3348fe3d0259146aa08c491">FP4_BLS383</a>
, <a class="el" href="structFP4__BLS461.html#a1a500f0e45c4a22866401153826db12b">FP4_BLS461</a>
, <a class="el" href="structFP4__BLS48.html#a724e2e8a3e6980420f72d8b08221c04c">FP4_BLS48</a>
, <a class="el" href="structFP4__BN254.html#a5d2c39d05d12975d4ac03386c52f98ea">FP4_BN254</a>
, <a class="el" href="structFP4__BN254CX.html#a7128773470b8777a45f74d20cd330def">FP4_BN254CX</a>
, <a class="el" href="structFP4__FP256BN.html#a3e607721a6f9c7ea95c2aa0adddc60e7">FP4_FP256BN</a>
, <a class="el" href="structFP4__FP512BN.html#a1b4bc5338f72373ea2d873ac2fa56738">FP4_FP512BN</a>
, <a class="el" href="structFP8__BLS24.html#a7759a72d6fcf4282a4ede641b1e4eb5a">FP8_BLS24</a>
, <a class="el" href="structFP8__BLS48.html#a7c24a2c52694fbcb9f97636f7b186c1f">FP8_BLS48</a>
, <a class="el" href="structgcm.html#ab0fe1c4736959492b5ffbefa12458cf9">gcm</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
</small></address>
</body>
</html>
