• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!-- HTML header for doxygen 1.8.10-->
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml">
4<head>
5<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
6<meta http-equiv="X-UA-Compatible" content="IE=9"/>
7<meta name="generator" content="Doxygen 1.8.14"/>
8<title>Intel&reg; Enhanced Privacy ID SDK: epid/member/tiny/math/fq2.h File Reference</title>
9<link href="tabs.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="dynsections.js"></script>
12<link href="navtree.css" rel="stylesheet" type="text/css"/>
13<script type="text/javascript" src="resize.js"></script>
14<script type="text/javascript" src="navtreedata.js"></script>
15<script type="text/javascript" src="navtree.js"></script>
16<script type="text/javascript">
17/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
18  $(document).ready(initResizable);
19/* @license-end */</script>
20<link href="doxygen.css" rel="stylesheet" type="text/css" />
21<link href="epidstyle.css" rel="stylesheet" type="text/css"/>
22</head>
23<body>
24<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
25<div id="titlearea">
26<table cellspacing="0" cellpadding="0">
27 <tbody>
28 <tr style="height: 56px;">
29  <td id="projectalign" style="padding-left: 0.5em;">
30   <div id="projectname"><a
31                            onclick="storeLink('index.html')"
32                            id="projectlink"
33                            class="index.html"
34                            href="index.html">Intel&reg; Enhanced Privacy ID SDK</a>
35&#160;<span id="projectnumber">6.0.1</span>
36</div>
37  </td>
38 </tr>
39 </tbody>
40</table>
41</div>
42<!-- end header part -->
43<!-- Generated by Doxygen 1.8.14 -->
44</div><!-- top -->
45<div id="side-nav" class="ui-resizable side-nav-resizable">
46  <div id="nav-tree">
47    <div id="nav-tree-contents">
48      <div id="nav-sync" class="sync"></div>
49    </div>
50  </div>
51  <div id="splitbar" style="-moz-user-select:none;"
52       class="ui-resizable-handle">
53  </div>
54</div>
55<script type="text/javascript">
56/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
57$(document).ready(function(){initNavTree('fq2_8h.html','');});
58/* @license-end */
59</script>
60<div id="doc-content">
61<div class="header">
62  <div class="summary">
63<a href="#func-members">Functions</a>  </div>
64  <div class="headertitle">
65<div class="title">fq2.h File Reference</div>  </div>
66</div><!--header-->
67<div class="contents">
68
69<p>Definition of Fq2 math.
70<a href="#details">More...</a></p>
71<div class="textblock"><code>#include &lt;stdint.h&gt;</code><br />
72</div><table class="memberdecls">
73<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
74Functions</h2></td></tr>
75<tr class="memitem:a6c67364f78e6946a7ad3af2c86baf1a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#a6c67364f78e6946a7ad3af2c86baf1a5">Fq2Cp</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *in)</td></tr>
76<tr class="memdesc:a6c67364f78e6946a7ad3af2c86baf1a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy an element's value.  <a href="#a6c67364f78e6946a7ad3af2c86baf1a5">More...</a><br /></td></tr>
77<tr class="separator:a6c67364f78e6946a7ad3af2c86baf1a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
78<tr class="memitem:a9165c1d2deef46ceb9af238928b2ec5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#a9165c1d2deef46ceb9af238928b2ec5c">Fq2Set</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, uint32_t in)</td></tr>
79<tr class="memdesc:a9165c1d2deef46ceb9af238928b2ec5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set an element's value.  <a href="#a9165c1d2deef46ceb9af238928b2ec5c">More...</a><br /></td></tr>
80<tr class="separator:a9165c1d2deef46ceb9af238928b2ec5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
81<tr class="memitem:a59d3d8212ffd5bf75f9b6fd85b896654"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#a59d3d8212ffd5bf75f9b6fd85b896654">Fq2Clear</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result)</td></tr>
82<tr class="memdesc:a59d3d8212ffd5bf75f9b6fd85b896654"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clear an element's value.  <a href="#a59d3d8212ffd5bf75f9b6fd85b896654">More...</a><br /></td></tr>
83<tr class="separator:a59d3d8212ffd5bf75f9b6fd85b896654"><td class="memSeparator" colspan="2">&#160;</td></tr>
84<tr class="memitem:afcaaf75460f36b85386cd1959b904f57"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#afcaaf75460f36b85386cd1959b904f57">Fq2Add</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *left, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *right)</td></tr>
85<tr class="memdesc:afcaaf75460f36b85386cd1959b904f57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add two elements of Fq2.  <a href="#afcaaf75460f36b85386cd1959b904f57">More...</a><br /></td></tr>
86<tr class="separator:afcaaf75460f36b85386cd1959b904f57"><td class="memSeparator" colspan="2">&#160;</td></tr>
87<tr class="memitem:acecbff7a5a8cec15e24c47663957c05a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#acecbff7a5a8cec15e24c47663957c05a">Fq2Exp</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *base, <a class="el" href="struct_very_large_int.html">VeryLargeInt</a> const *exp)</td></tr>
88<tr class="memdesc:acecbff7a5a8cec15e24c47663957c05a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Exponentiate an element of Fq2 by a large integer.  <a href="#acecbff7a5a8cec15e24c47663957c05a">More...</a><br /></td></tr>
89<tr class="separator:acecbff7a5a8cec15e24c47663957c05a"><td class="memSeparator" colspan="2">&#160;</td></tr>
90<tr class="memitem:ae27a9400b5d8fbd0b720a449c60ad146"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#ae27a9400b5d8fbd0b720a449c60ad146">Fq2Sub</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *left, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *right)</td></tr>
91<tr class="memdesc:ae27a9400b5d8fbd0b720a449c60ad146"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract two elements of Fq2.  <a href="#ae27a9400b5d8fbd0b720a449c60ad146">More...</a><br /></td></tr>
92<tr class="separator:ae27a9400b5d8fbd0b720a449c60ad146"><td class="memSeparator" colspan="2">&#160;</td></tr>
93<tr class="memitem:a876f870f84cd8ab697176dbb42591565"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#a876f870f84cd8ab697176dbb42591565">Fq2Mul</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *left, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *right)</td></tr>
94<tr class="memdesc:a876f870f84cd8ab697176dbb42591565"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply two elements of Fq2.  <a href="#a876f870f84cd8ab697176dbb42591565">More...</a><br /></td></tr>
95<tr class="separator:a876f870f84cd8ab697176dbb42591565"><td class="memSeparator" colspan="2">&#160;</td></tr>
96<tr class="memitem:a756666161516fe541b26a4082f69343d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#a756666161516fe541b26a4082f69343d">Fq2Inv</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *in)</td></tr>
97<tr class="memdesc:a756666161516fe541b26a4082f69343d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invert an element of Fq2.  <a href="#a756666161516fe541b26a4082f69343d">More...</a><br /></td></tr>
98<tr class="separator:a756666161516fe541b26a4082f69343d"><td class="memSeparator" colspan="2">&#160;</td></tr>
99<tr class="memitem:a5d523d5d6d4159c71f58945af82a7936"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#a5d523d5d6d4159c71f58945af82a7936">Fq2Neg</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *in)</td></tr>
100<tr class="memdesc:a5d523d5d6d4159c71f58945af82a7936"><td class="mdescLeft">&#160;</td><td class="mdescRight">Negate an element of Fq2.  <a href="#a5d523d5d6d4159c71f58945af82a7936">More...</a><br /></td></tr>
101<tr class="separator:a5d523d5d6d4159c71f58945af82a7936"><td class="memSeparator" colspan="2">&#160;</td></tr>
102<tr class="memitem:adc0d02ddec564ca86b0ef53d7ff79864"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#adc0d02ddec564ca86b0ef53d7ff79864">Fq2Conj</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *in)</td></tr>
103<tr class="memdesc:adc0d02ddec564ca86b0ef53d7ff79864"><td class="mdescLeft">&#160;</td><td class="mdescRight">Calculate the conjugate of an element of Fq2.  <a href="#adc0d02ddec564ca86b0ef53d7ff79864">More...</a><br /></td></tr>
104<tr class="separator:adc0d02ddec564ca86b0ef53d7ff79864"><td class="memSeparator" colspan="2">&#160;</td></tr>
105<tr class="memitem:a3c6583dd519a3dd7efb26db5e9a59036"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#a3c6583dd519a3dd7efb26db5e9a59036">Fq2Square</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *in)</td></tr>
106<tr class="memdesc:a3c6583dd519a3dd7efb26db5e9a59036"><td class="mdescLeft">&#160;</td><td class="mdescRight">Square an element of Fq2.  <a href="#a3c6583dd519a3dd7efb26db5e9a59036">More...</a><br /></td></tr>
107<tr class="separator:a3c6583dd519a3dd7efb26db5e9a59036"><td class="memSeparator" colspan="2">&#160;</td></tr>
108<tr class="memitem:af45903d791794faabedb00f760885e8c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#af45903d791794faabedb00f760885e8c">Fq2MulScalar</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *left, <a class="el" href="struct_fq_elem.html">FqElem</a> const *right)</td></tr>
109<tr class="memdesc:af45903d791794faabedb00f760885e8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply an element of Fq2 by and element of Fq.  <a href="#af45903d791794faabedb00f760885e8c">More...</a><br /></td></tr>
110<tr class="separator:af45903d791794faabedb00f760885e8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
111<tr class="memitem:ad94b155025e7a11b9c5b60032fde4491"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#ad94b155025e7a11b9c5b60032fde4491">Fq2CondSet</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *true_val, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *false_val, int truth_val)</td></tr>
112<tr class="memdesc:ad94b155025e7a11b9c5b60032fde4491"><td class="mdescLeft">&#160;</td><td class="mdescRight">Conditionally Set an element's value to one of two values.  <a href="#ad94b155025e7a11b9c5b60032fde4491">More...</a><br /></td></tr>
113<tr class="separator:ad94b155025e7a11b9c5b60032fde4491"><td class="memSeparator" colspan="2">&#160;</td></tr>
114<tr class="memitem:a3dc330cff53539b51183c43085275f97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#a3dc330cff53539b51183c43085275f97">Fq2Eq</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *left, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *right)</td></tr>
115<tr class="memdesc:a3dc330cff53539b51183c43085275f97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if two elements in Fq2 are equal.  <a href="#a3dc330cff53539b51183c43085275f97">More...</a><br /></td></tr>
116<tr class="separator:a3dc330cff53539b51183c43085275f97"><td class="memSeparator" colspan="2">&#160;</td></tr>
117<tr class="memitem:afeeb4e14ddf9f39f860661c599923c58"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#afeeb4e14ddf9f39f860661c599923c58">Fq2MulXi</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *result, <a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *in)</td></tr>
118<tr class="memdesc:afeeb4e14ddf9f39f860661c599923c58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Multiply an element of Fq2 by xi.  <a href="#afeeb4e14ddf9f39f860661c599923c58">More...</a><br /></td></tr>
119<tr class="separator:afeeb4e14ddf9f39f860661c599923c58"><td class="memSeparator" colspan="2">&#160;</td></tr>
120<tr class="memitem:a610c9d7c2afa63b1d48da30c684d6e27"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fq2_8h.html#a610c9d7c2afa63b1d48da30c684d6e27">Fq2IsZero</a> (<a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *value)</td></tr>
121<tr class="memdesc:a610c9d7c2afa63b1d48da30c684d6e27"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test if an element is zero.  <a href="#a610c9d7c2afa63b1d48da30c684d6e27">More...</a><br /></td></tr>
122<tr class="separator:a610c9d7c2afa63b1d48da30c684d6e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
123</table>
124<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
125<div class="textblock"><p>Definition of Fq2 math. </p>
126</div><h2 class="groupheader">Function Documentation</h2>
127<a id="afcaaf75460f36b85386cd1959b904f57"></a>
128<h2 class="memtitle"><span class="permalink"><a href="#afcaaf75460f36b85386cd1959b904f57">&#9670;&nbsp;</a></span>Fq2Add()</h2>
129
130<div class="memitem">
131<div class="memproto">
132      <table class="memname">
133        <tr>
134          <td class="memname">void Fq2Add </td>
135          <td>(</td>
136          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
137          <td class="paramname"><em>result</em>, </td>
138        </tr>
139        <tr>
140          <td class="paramkey"></td>
141          <td></td>
142          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
143          <td class="paramname"><em>left</em>, </td>
144        </tr>
145        <tr>
146          <td class="paramkey"></td>
147          <td></td>
148          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
149          <td class="paramname"><em>right</em>&#160;</td>
150        </tr>
151        <tr>
152          <td></td>
153          <td>)</td>
154          <td></td><td></td>
155        </tr>
156      </table>
157</div><div class="memdoc">
158
159<p>Add two elements of Fq2. </p>
160<dl class="params"><dt>Parameters</dt><dd>
161  <table class="params">
162    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>of adding left and right. </td></tr>
163    <tr><td class="paramdir">[in]</td><td class="paramname">left</td><td>The first operand to be added. </td></tr>
164    <tr><td class="paramdir">[in]</td><td class="paramname">right</td><td>The second operand to be added. </td></tr>
165  </table>
166  </dd>
167</dl>
168
169</div>
170</div>
171<a id="a59d3d8212ffd5bf75f9b6fd85b896654"></a>
172<h2 class="memtitle"><span class="permalink"><a href="#a59d3d8212ffd5bf75f9b6fd85b896654">&#9670;&nbsp;</a></span>Fq2Clear()</h2>
173
174<div class="memitem">
175<div class="memproto">
176      <table class="memname">
177        <tr>
178          <td class="memname">void Fq2Clear </td>
179          <td>(</td>
180          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
181          <td class="paramname"><em>result</em></td><td>)</td>
182          <td></td>
183        </tr>
184      </table>
185</div><div class="memdoc">
186
187<p>Clear an element's value. </p>
188<dl class="params"><dt>Parameters</dt><dd>
189  <table class="params">
190    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>element to clear. </td></tr>
191  </table>
192  </dd>
193</dl>
194
195</div>
196</div>
197<a id="ad94b155025e7a11b9c5b60032fde4491"></a>
198<h2 class="memtitle"><span class="permalink"><a href="#ad94b155025e7a11b9c5b60032fde4491">&#9670;&nbsp;</a></span>Fq2CondSet()</h2>
199
200<div class="memitem">
201<div class="memproto">
202      <table class="memname">
203        <tr>
204          <td class="memname">void Fq2CondSet </td>
205          <td>(</td>
206          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
207          <td class="paramname"><em>result</em>, </td>
208        </tr>
209        <tr>
210          <td class="paramkey"></td>
211          <td></td>
212          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
213          <td class="paramname"><em>true_val</em>, </td>
214        </tr>
215        <tr>
216          <td class="paramkey"></td>
217          <td></td>
218          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
219          <td class="paramname"><em>false_val</em>, </td>
220        </tr>
221        <tr>
222          <td class="paramkey"></td>
223          <td></td>
224          <td class="paramtype">int&#160;</td>
225          <td class="paramname"><em>truth_val</em>&#160;</td>
226        </tr>
227        <tr>
228          <td></td>
229          <td>)</td>
230          <td></td><td></td>
231        </tr>
232      </table>
233</div><div class="memdoc">
234
235<p>Conditionally Set an element's value to one of two values. </p>
236<dl class="params"><dt>Parameters</dt><dd>
237  <table class="params">
238    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>target. </td></tr>
239    <tr><td class="paramdir">[in]</td><td class="paramname">true_val</td><td>value to set if condition is true. </td></tr>
240    <tr><td class="paramdir">[in]</td><td class="paramname">false_val</td><td>value to set if condition is false. </td></tr>
241    <tr><td class="paramdir">[in]</td><td class="paramname">truth_val</td><td>value of condition. </td></tr>
242  </table>
243  </dd>
244</dl>
245
246</div>
247</div>
248<a id="adc0d02ddec564ca86b0ef53d7ff79864"></a>
249<h2 class="memtitle"><span class="permalink"><a href="#adc0d02ddec564ca86b0ef53d7ff79864">&#9670;&nbsp;</a></span>Fq2Conj()</h2>
250
251<div class="memitem">
252<div class="memproto">
253      <table class="memname">
254        <tr>
255          <td class="memname">void Fq2Conj </td>
256          <td>(</td>
257          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
258          <td class="paramname"><em>result</em>, </td>
259        </tr>
260        <tr>
261          <td class="paramkey"></td>
262          <td></td>
263          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
264          <td class="paramname"><em>in</em>&#160;</td>
265        </tr>
266        <tr>
267          <td></td>
268          <td>)</td>
269          <td></td><td></td>
270        </tr>
271      </table>
272</div><div class="memdoc">
273
274<p>Calculate the conjugate of an element of Fq2. </p>
275<dl class="params"><dt>Parameters</dt><dd>
276  <table class="params">
277    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>the conjugate of the element. </td></tr>
278    <tr><td class="paramdir">[in]</td><td class="paramname">in</td><td>the element. </td></tr>
279  </table>
280  </dd>
281</dl>
282
283</div>
284</div>
285<a id="a6c67364f78e6946a7ad3af2c86baf1a5"></a>
286<h2 class="memtitle"><span class="permalink"><a href="#a6c67364f78e6946a7ad3af2c86baf1a5">&#9670;&nbsp;</a></span>Fq2Cp()</h2>
287
288<div class="memitem">
289<div class="memproto">
290      <table class="memname">
291        <tr>
292          <td class="memname">void Fq2Cp </td>
293          <td>(</td>
294          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
295          <td class="paramname"><em>result</em>, </td>
296        </tr>
297        <tr>
298          <td class="paramkey"></td>
299          <td></td>
300          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
301          <td class="paramname"><em>in</em>&#160;</td>
302        </tr>
303        <tr>
304          <td></td>
305          <td>)</td>
306          <td></td><td></td>
307        </tr>
308      </table>
309</div><div class="memdoc">
310
311<p>Copy an element's value. </p>
312<dl class="params"><dt>Parameters</dt><dd>
313  <table class="params">
314    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>copy target. </td></tr>
315    <tr><td class="paramdir">[in]</td><td class="paramname">in</td><td>copy source. </td></tr>
316  </table>
317  </dd>
318</dl>
319
320</div>
321</div>
322<a id="a3dc330cff53539b51183c43085275f97"></a>
323<h2 class="memtitle"><span class="permalink"><a href="#a3dc330cff53539b51183c43085275f97">&#9670;&nbsp;</a></span>Fq2Eq()</h2>
324
325<div class="memitem">
326<div class="memproto">
327      <table class="memname">
328        <tr>
329          <td class="memname">int Fq2Eq </td>
330          <td>(</td>
331          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
332          <td class="paramname"><em>left</em>, </td>
333        </tr>
334        <tr>
335          <td class="paramkey"></td>
336          <td></td>
337          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
338          <td class="paramname"><em>right</em>&#160;</td>
339        </tr>
340        <tr>
341          <td></td>
342          <td>)</td>
343          <td></td><td></td>
344        </tr>
345      </table>
346</div><div class="memdoc">
347
348<p>Test if two elements in Fq2 are equal. </p>
349<dl class="params"><dt>Parameters</dt><dd>
350  <table class="params">
351    <tr><td class="paramdir">[in]</td><td class="paramname">left</td><td>The first operand to be tested. </td></tr>
352    <tr><td class="paramdir">[in]</td><td class="paramname">right</td><td>The second operand to be tested. </td></tr>
353  </table>
354  </dd>
355</dl>
356<dl class="section return"><dt>Returns</dt><dd>A value different from zero (i.e., true) if indeed the values are equal. Zero (i.e., false) otherwise. </dd></dl>
357
358</div>
359</div>
360<a id="acecbff7a5a8cec15e24c47663957c05a"></a>
361<h2 class="memtitle"><span class="permalink"><a href="#acecbff7a5a8cec15e24c47663957c05a">&#9670;&nbsp;</a></span>Fq2Exp()</h2>
362
363<div class="memitem">
364<div class="memproto">
365      <table class="memname">
366        <tr>
367          <td class="memname">void Fq2Exp </td>
368          <td>(</td>
369          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
370          <td class="paramname"><em>result</em>, </td>
371        </tr>
372        <tr>
373          <td class="paramkey"></td>
374          <td></td>
375          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
376          <td class="paramname"><em>base</em>, </td>
377        </tr>
378        <tr>
379          <td class="paramkey"></td>
380          <td></td>
381          <td class="paramtype"><a class="el" href="struct_very_large_int.html">VeryLargeInt</a> const *&#160;</td>
382          <td class="paramname"><em>exp</em>&#160;</td>
383        </tr>
384        <tr>
385          <td></td>
386          <td>)</td>
387          <td></td><td></td>
388        </tr>
389      </table>
390</div><div class="memdoc">
391
392<p>Exponentiate an element of Fq2 by a large integer. </p>
393<dl class="params"><dt>Parameters</dt><dd>
394  <table class="params">
395    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>target. </td></tr>
396    <tr><td class="paramdir">[in]</td><td class="paramname">base</td><td>the base. </td></tr>
397    <tr><td class="paramdir">[in]</td><td class="paramname">exp</td><td>the exponent. </td></tr>
398  </table>
399  </dd>
400</dl>
401
402</div>
403</div>
404<a id="a756666161516fe541b26a4082f69343d"></a>
405<h2 class="memtitle"><span class="permalink"><a href="#a756666161516fe541b26a4082f69343d">&#9670;&nbsp;</a></span>Fq2Inv()</h2>
406
407<div class="memitem">
408<div class="memproto">
409      <table class="memname">
410        <tr>
411          <td class="memname">void Fq2Inv </td>
412          <td>(</td>
413          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
414          <td class="paramname"><em>result</em>, </td>
415        </tr>
416        <tr>
417          <td class="paramkey"></td>
418          <td></td>
419          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
420          <td class="paramname"><em>in</em>&#160;</td>
421        </tr>
422        <tr>
423          <td></td>
424          <td>)</td>
425          <td></td><td></td>
426        </tr>
427      </table>
428</div><div class="memdoc">
429
430<p>Invert an element of Fq2. </p>
431<dl class="params"><dt>Parameters</dt><dd>
432  <table class="params">
433    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>the inverse of the element. </td></tr>
434    <tr><td class="paramdir">[in]</td><td class="paramname">in</td><td>the element to invert. </td></tr>
435  </table>
436  </dd>
437</dl>
438
439</div>
440</div>
441<a id="a610c9d7c2afa63b1d48da30c684d6e27"></a>
442<h2 class="memtitle"><span class="permalink"><a href="#a610c9d7c2afa63b1d48da30c684d6e27">&#9670;&nbsp;</a></span>Fq2IsZero()</h2>
443
444<div class="memitem">
445<div class="memproto">
446      <table class="memname">
447        <tr>
448          <td class="memname">int Fq2IsZero </td>
449          <td>(</td>
450          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
451          <td class="paramname"><em>value</em></td><td>)</td>
452          <td></td>
453        </tr>
454      </table>
455</div><div class="memdoc">
456
457<p>Test if an element is zero. </p>
458<dl class="params"><dt>Parameters</dt><dd>
459  <table class="params">
460    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>the element to test. </td></tr>
461  </table>
462  </dd>
463</dl>
464<dl class="section return"><dt>Returns</dt><dd>A value different from zero (i.e., true) if indeed the value is zero. Zero (i.e., false) otherwise. </dd></dl>
465
466</div>
467</div>
468<a id="a876f870f84cd8ab697176dbb42591565"></a>
469<h2 class="memtitle"><span class="permalink"><a href="#a876f870f84cd8ab697176dbb42591565">&#9670;&nbsp;</a></span>Fq2Mul()</h2>
470
471<div class="memitem">
472<div class="memproto">
473      <table class="memname">
474        <tr>
475          <td class="memname">void Fq2Mul </td>
476          <td>(</td>
477          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
478          <td class="paramname"><em>result</em>, </td>
479        </tr>
480        <tr>
481          <td class="paramkey"></td>
482          <td></td>
483          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
484          <td class="paramname"><em>left</em>, </td>
485        </tr>
486        <tr>
487          <td class="paramkey"></td>
488          <td></td>
489          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
490          <td class="paramname"><em>right</em>&#160;</td>
491        </tr>
492        <tr>
493          <td></td>
494          <td>)</td>
495          <td></td><td></td>
496        </tr>
497      </table>
498</div><div class="memdoc">
499
500<p>Multiply two elements of Fq2. </p>
501<dl class="params"><dt>Parameters</dt><dd>
502  <table class="params">
503    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>of multiplying left and right. </td></tr>
504    <tr><td class="paramdir">[in]</td><td class="paramname">left</td><td>The first operand to be multiplied. </td></tr>
505    <tr><td class="paramdir">[in]</td><td class="paramname">right</td><td>The second operand to be multiplied. </td></tr>
506  </table>
507  </dd>
508</dl>
509
510</div>
511</div>
512<a id="af45903d791794faabedb00f760885e8c"></a>
513<h2 class="memtitle"><span class="permalink"><a href="#af45903d791794faabedb00f760885e8c">&#9670;&nbsp;</a></span>Fq2MulScalar()</h2>
514
515<div class="memitem">
516<div class="memproto">
517      <table class="memname">
518        <tr>
519          <td class="memname">void Fq2MulScalar </td>
520          <td>(</td>
521          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
522          <td class="paramname"><em>result</em>, </td>
523        </tr>
524        <tr>
525          <td class="paramkey"></td>
526          <td></td>
527          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
528          <td class="paramname"><em>left</em>, </td>
529        </tr>
530        <tr>
531          <td class="paramkey"></td>
532          <td></td>
533          <td class="paramtype"><a class="el" href="struct_fq_elem.html">FqElem</a> const *&#160;</td>
534          <td class="paramname"><em>right</em>&#160;</td>
535        </tr>
536        <tr>
537          <td></td>
538          <td>)</td>
539          <td></td><td></td>
540        </tr>
541      </table>
542</div><div class="memdoc">
543
544<p>Multiply an element of Fq2 by and element of Fq. </p>
545<dl class="params"><dt>Parameters</dt><dd>
546  <table class="params">
547    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>of multiplying left and right. </td></tr>
548    <tr><td class="paramdir">[in]</td><td class="paramname">left</td><td>The first operand to be multiplied. </td></tr>
549    <tr><td class="paramdir">[in]</td><td class="paramname">right</td><td>The second operand to be multiplied. </td></tr>
550  </table>
551  </dd>
552</dl>
553
554</div>
555</div>
556<a id="afeeb4e14ddf9f39f860661c599923c58"></a>
557<h2 class="memtitle"><span class="permalink"><a href="#afeeb4e14ddf9f39f860661c599923c58">&#9670;&nbsp;</a></span>Fq2MulXi()</h2>
558
559<div class="memitem">
560<div class="memproto">
561      <table class="memname">
562        <tr>
563          <td class="memname">void Fq2MulXi </td>
564          <td>(</td>
565          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
566          <td class="paramname"><em>result</em>, </td>
567        </tr>
568        <tr>
569          <td class="paramkey"></td>
570          <td></td>
571          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
572          <td class="paramname"><em>in</em>&#160;</td>
573        </tr>
574        <tr>
575          <td></td>
576          <td>)</td>
577          <td></td><td></td>
578        </tr>
579      </table>
580</div><div class="memdoc">
581
582<p>Multiply an element of Fq2 by xi. </p>
583<p>This function was formerly called as Fq2Const.</p>
584<dl class="params"><dt>Parameters</dt><dd>
585  <table class="params">
586    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>of multiplying in by xi. </td></tr>
587    <tr><td class="paramdir">[in]</td><td class="paramname">in</td><td>The first operand to be multiplied. </td></tr>
588  </table>
589  </dd>
590</dl>
591
592</div>
593</div>
594<a id="a5d523d5d6d4159c71f58945af82a7936"></a>
595<h2 class="memtitle"><span class="permalink"><a href="#a5d523d5d6d4159c71f58945af82a7936">&#9670;&nbsp;</a></span>Fq2Neg()</h2>
596
597<div class="memitem">
598<div class="memproto">
599      <table class="memname">
600        <tr>
601          <td class="memname">void Fq2Neg </td>
602          <td>(</td>
603          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
604          <td class="paramname"><em>result</em>, </td>
605        </tr>
606        <tr>
607          <td class="paramkey"></td>
608          <td></td>
609          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
610          <td class="paramname"><em>in</em>&#160;</td>
611        </tr>
612        <tr>
613          <td></td>
614          <td>)</td>
615          <td></td><td></td>
616        </tr>
617      </table>
618</div><div class="memdoc">
619
620<p>Negate an element of Fq2. </p>
621<dl class="params"><dt>Parameters</dt><dd>
622  <table class="params">
623    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>the negative of the element. </td></tr>
624    <tr><td class="paramdir">[in]</td><td class="paramname">in</td><td>the element to negate. </td></tr>
625  </table>
626  </dd>
627</dl>
628
629</div>
630</div>
631<a id="a9165c1d2deef46ceb9af238928b2ec5c"></a>
632<h2 class="memtitle"><span class="permalink"><a href="#a9165c1d2deef46ceb9af238928b2ec5c">&#9670;&nbsp;</a></span>Fq2Set()</h2>
633
634<div class="memitem">
635<div class="memproto">
636      <table class="memname">
637        <tr>
638          <td class="memname">void Fq2Set </td>
639          <td>(</td>
640          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
641          <td class="paramname"><em>result</em>, </td>
642        </tr>
643        <tr>
644          <td class="paramkey"></td>
645          <td></td>
646          <td class="paramtype">uint32_t&#160;</td>
647          <td class="paramname"><em>in</em>&#160;</td>
648        </tr>
649        <tr>
650          <td></td>
651          <td>)</td>
652          <td></td><td></td>
653        </tr>
654      </table>
655</div><div class="memdoc">
656
657<p>Set an element's value. </p>
658<dl class="params"><dt>Parameters</dt><dd>
659  <table class="params">
660    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>target. </td></tr>
661    <tr><td class="paramdir">[in]</td><td class="paramname">in</td><td>value to set. </td></tr>
662  </table>
663  </dd>
664</dl>
665
666</div>
667</div>
668<a id="a3c6583dd519a3dd7efb26db5e9a59036"></a>
669<h2 class="memtitle"><span class="permalink"><a href="#a3c6583dd519a3dd7efb26db5e9a59036">&#9670;&nbsp;</a></span>Fq2Square()</h2>
670
671<div class="memitem">
672<div class="memproto">
673      <table class="memname">
674        <tr>
675          <td class="memname">void Fq2Square </td>
676          <td>(</td>
677          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
678          <td class="paramname"><em>result</em>, </td>
679        </tr>
680        <tr>
681          <td class="paramkey"></td>
682          <td></td>
683          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
684          <td class="paramname"><em>in</em>&#160;</td>
685        </tr>
686        <tr>
687          <td></td>
688          <td>)</td>
689          <td></td><td></td>
690        </tr>
691      </table>
692</div><div class="memdoc">
693
694<p>Square an element of Fq2. </p>
695<dl class="params"><dt>Parameters</dt><dd>
696  <table class="params">
697    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>the square of the element. </td></tr>
698    <tr><td class="paramdir">[in]</td><td class="paramname">in</td><td>the element to square. </td></tr>
699  </table>
700  </dd>
701</dl>
702
703</div>
704</div>
705<a id="ae27a9400b5d8fbd0b720a449c60ad146"></a>
706<h2 class="memtitle"><span class="permalink"><a href="#ae27a9400b5d8fbd0b720a449c60ad146">&#9670;&nbsp;</a></span>Fq2Sub()</h2>
707
708<div class="memitem">
709<div class="memproto">
710      <table class="memname">
711        <tr>
712          <td class="memname">void Fq2Sub </td>
713          <td>(</td>
714          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> *&#160;</td>
715          <td class="paramname"><em>result</em>, </td>
716        </tr>
717        <tr>
718          <td class="paramkey"></td>
719          <td></td>
720          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
721          <td class="paramname"><em>left</em>, </td>
722        </tr>
723        <tr>
724          <td class="paramkey"></td>
725          <td></td>
726          <td class="paramtype"><a class="el" href="struct_fq2_elem.html">Fq2Elem</a> const *&#160;</td>
727          <td class="paramname"><em>right</em>&#160;</td>
728        </tr>
729        <tr>
730          <td></td>
731          <td>)</td>
732          <td></td><td></td>
733        </tr>
734      </table>
735</div><div class="memdoc">
736
737<p>Subtract two elements of Fq2. </p>
738<dl class="params"><dt>Parameters</dt><dd>
739  <table class="params">
740    <tr><td class="paramdir">[out]</td><td class="paramname">result</td><td>of subtracting left from right. </td></tr>
741    <tr><td class="paramdir">[in]</td><td class="paramname">left</td><td>The operand to be subtracted from. </td></tr>
742    <tr><td class="paramdir">[in]</td><td class="paramname">right</td><td>The operand to subtract. </td></tr>
743  </table>
744  </dd>
745</dl>
746
747</div>
748</div>
749</div><!-- contents -->
750</div><!-- doc-content -->
751<!-- HTML footer for doxygen 1.8.10-->
752<!-- start footer part -->
753<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
754  <ul>
755    <li class="navelem"><a class="el" href="dir_12b90d9c027aaf878a834df729679a56.html">epid</a></li><li class="navelem"><a class="el" href="dir_512d3e62841a8535b716ec4cf8b9e950.html">member</a></li><li class="navelem"><a class="el" href="dir_ea12d375fc1eb79df248c0adf953af4f.html">tiny</a></li><li class="navelem"><a class="el" href="dir_5f2fc2cf41db41de2b55e03ffa7a1d16.html">math</a></li><li class="navelem"><a class="el" href="fq2_8h.html">fq2.h</a></li>
756    <li class="footer">
757      &copy; 2016-2017 Intel Corporation
758    </li>
759  </ul>
760</div>
761</body>
762</html>
763