<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="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: Data Fields</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>
</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">
<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_z"></a>- z -</h3><ul>
<li>z
: <a class="el" href="structECP2__BLS381.html#a0df8d468341bc1ce4debf108b94c3479">ECP2_BLS381</a>
, <a class="el" href="structECP2__BLS383.html#a2b66bfcf4865f4405dfbb37e1dce295e">ECP2_BLS383</a>
, <a class="el" href="structECP2__BLS461.html#a575f6297ed211daf9baa6c8f2544061c">ECP2_BLS461</a>
, <a class="el" href="structECP2__BN254.html#a337720a42e224384e888ea6781ada18c">ECP2_BN254</a>
, <a class="el" href="structECP2__BN254CX.html#acba8c9fb3c17e39d8c8761e17a7e595e">ECP2_BN254CX</a>
, <a class="el" href="structECP2__FP256BN.html#a1dd224695acc0039c3681c35d7f27447">ECP2_FP256BN</a>
, <a class="el" href="structECP2__FP512BN.html#a7500b35a9c2079546b4de8c6a6388fc5">ECP2_FP512BN</a>
, <a class="el" href="structECP4__BLS24.html#ad8ed2a95beb461dd97345c3576edc5b3">ECP4_BLS24</a>
, <a class="el" href="structECP8__BLS48.html#a3c9b9e61c408e80689dc8a3b42eff643">ECP8_BLS48</a>
, <a class="el" href="structECP__ANSSI.html#a6482007d6cb593703f0714e46f7f5d90">ECP_ANSSI</a>
, <a class="el" href="structECP__BLS24.html#aebdde6337534b356abd9020c878537a6">ECP_BLS24</a>
, <a class="el" href="structECP__BLS381.html#af2d0930c4cc890faf9ea9c5bc1934ed6">ECP_BLS381</a>
, <a class="el" href="structECP__BLS383.html#a586055b3fb53d23e1bd51a3623418fd2">ECP_BLS383</a>
, <a class="el" href="structECP__BLS461.html#a93521a980194d8c67e7dd53c8e43fb83">ECP_BLS461</a>
, <a class="el" href="structECP__BLS48.html#ac16016b981e0f426ff081fa8493b61af">ECP_BLS48</a>
, <a class="el" href="structECP__BN254.html#a02886f291594c1bf931ecab041e12ee1">ECP_BN254</a>
, <a class="el" href="structECP__BN254CX.html#a3a16cd6f248b7a5feb177ee8d8c4998e">ECP_BN254CX</a>
, <a class="el" href="structECP__BRAINPOOL.html#a78f1c51622fbe527966b27020f73ca76">ECP_BRAINPOOL</a>
, <a class="el" href="structECP__C25519.html#abc8acabd37b17cba126258d8b42a98eb">ECP_C25519</a>
, <a class="el" href="structECP__C41417.html#af64fe5623308d77cb539e2825a1a1d6b">ECP_C41417</a>
, <a class="el" href="structECP__ED25519.html#a0f5becc7fa0a3a3d3f56767810c3462d">ECP_ED25519</a>
, <a class="el" href="structECP__FP256BN.html#a71a8693fa97688aa72a71768afcc900b">ECP_FP256BN</a>
, <a class="el" href="structECP__FP512BN.html#a5ff94a5d36716c69d73e2204e8c363e1">ECP_FP512BN</a>
, <a class="el" href="structECP__GOLDILOCKS.html#a8080dd2499336c58a9a719986fa30a8c">ECP_GOLDILOCKS</a>
, <a class="el" href="structECP__HIFIVE.html#a70e1f555918de6cefee6cda4b1435549">ECP_HIFIVE</a>
, <a class="el" href="structECP__NIST256.html#a22b6ce2219b31595cdbb3c22e293e901">ECP_NIST256</a>
, <a class="el" href="structECP__NIST384.html#a55fd4f36bff91563d54fcc697808864d">ECP_NIST384</a>
, <a class="el" href="structECP__NIST521.html#a74fb68b4dca4eb9d7758a127aa3dee15">ECP_NIST521</a>
, <a class="el" href="structECP__NUMS256E.html#afd91fe55332649ff0c79bc352dd58e1d">ECP_NUMS256E</a>
, <a class="el" href="structECP__NUMS256W.html#a97b56a4867ad20a4e97c5bd0e50c06af">ECP_NUMS256W</a>
, <a class="el" href="structECP__NUMS384E.html#aab78b77f2ee0265660d1e7e258df6165">ECP_NUMS384E</a>
, <a class="el" href="structECP__NUMS384W.html#a86ecf6ce6ea87387a0d0fd600902a6b0">ECP_NUMS384W</a>
, <a class="el" href="structECP__NUMS512E.html#a7045f2e416efa88d5f9436b34e44a561">ECP_NUMS512E</a>
, <a class="el" href="structECP__NUMS512W.html#afcded90a6d93b334108eb56e5a31007e">ECP_NUMS512W</a>
, <a class="el" href="structECP__SECP256K1.html#ae84d326fd938dab8ef40bf43d96bd736">ECP_SECP256K1</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>
