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® 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&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® Enhanced Privacy ID SDK</a> 35 <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&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 <stdint.h></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 </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"> </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"> </td></tr> 78<tr class="memitem:a9165c1d2deef46ceb9af238928b2ec5c"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 81<tr class="memitem:a59d3d8212ffd5bf75f9b6fd85b896654"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 84<tr class="memitem:afcaaf75460f36b85386cd1959b904f57"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 87<tr class="memitem:acecbff7a5a8cec15e24c47663957c05a"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 90<tr class="memitem:ae27a9400b5d8fbd0b720a449c60ad146"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 93<tr class="memitem:a876f870f84cd8ab697176dbb42591565"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 96<tr class="memitem:a756666161516fe541b26a4082f69343d"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 99<tr class="memitem:a5d523d5d6d4159c71f58945af82a7936"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 102<tr class="memitem:adc0d02ddec564ca86b0ef53d7ff79864"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 105<tr class="memitem:a3c6583dd519a3dd7efb26db5e9a59036"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 108<tr class="memitem:af45903d791794faabedb00f760885e8c"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 111<tr class="memitem:ad94b155025e7a11b9c5b60032fde4491"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 114<tr class="memitem:a3dc330cff53539b51183c43085275f97"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </td></tr> 117<tr class="memitem:afeeb4e14ddf9f39f860661c599923c58"><td class="memItemLeft" align="right" valign="top">void </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"> </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"> </td></tr> 120<tr class="memitem:a610c9d7c2afa63b1d48da30c684d6e27"><td class="memItemLeft" align="right" valign="top">int </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"> </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"> </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">◆ </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> * </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 * </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 * </td> 149 <td class="paramname"><em>right</em> </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">◆ </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> * </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">◆ </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> * </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 * </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 * </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 </td> 225 <td class="paramname"><em>truth_val</em> </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">◆ </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> * </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 * </td> 264 <td class="paramname"><em>in</em> </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">◆ </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> * </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 * </td> 301 <td class="paramname"><em>in</em> </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">◆ </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 * </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 * </td> 338 <td class="paramname"><em>right</em> </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">◆ </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> * </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 * </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 * </td> 382 <td class="paramname"><em>exp</em> </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">◆ </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> * </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 * </td> 420 <td class="paramname"><em>in</em> </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">◆ </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 * </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">◆ </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> * </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 * </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 * </td> 490 <td class="paramname"><em>right</em> </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">◆ </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> * </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 * </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 * </td> 534 <td class="paramname"><em>right</em> </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">◆ </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> * </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 * </td> 572 <td class="paramname"><em>in</em> </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">◆ </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> * </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 * </td> 610 <td class="paramname"><em>in</em> </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">◆ </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> * </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 </td> 647 <td class="paramname"><em>in</em> </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">◆ </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> * </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 * </td> 684 <td class="paramname"><em>in</em> </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">◆ </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> * </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 * </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 * </td> 727 <td class="paramname"><em>right</em> </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 © 2016-2017 Intel Corporation 758 </li> 759 </ul> 760</div> 761</body> 762</html> 763