NASFAQ/CRS_CC/doc/html/multieval_8h.html
2022-02-15 15:01:37 +01:00

190 lines
8.3 KiB
HTML

<!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=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CRS: /home/steaky/git/CRS/src/Polynomials/multieval.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="projectlogo"><img alt="Logo" src="475805_1_En_14_Fig2_HTML.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">CRS
</div>
<div id="projectbrief">Isogeny-based post-quantum Diffie-Hellman protocol.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(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_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_9d9d47b06e607e5b7bab055102566395.html">Polynomials</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle"><div class="title">multieval.h File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &lt;gmp.h&gt;</code><br />
<code>#include &lt;flint/fmpz.h&gt;</code><br />
<code>#include &lt;flint/fq.h&gt;</code><br />
<code>#include &lt;flint/fq_poly.h&gt;</code><br />
<code>#include &quot;<a class="el" href="binary__trees_8h_source.html">binary_trees.h</a>&quot;</code><br />
</div>
<p><a href="multieval_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 id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a2ebc27408dca597f79fe56bcdced0408"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multieval_8h.html#a2ebc27408dca597f79fe56bcdced0408">remainderCell</a> (<a class="el" href="structfq__poly__bcell__t.html">fq_poly_bcell_t</a> *, fq_t *, uint, uint, const fq_ctx_t *)</td></tr>
<tr class="separator:a2ebc27408dca597f79fe56bcdced0408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5360e6b2ff69747bf4bee5b19c9436d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="multieval_8h.html#a5360e6b2ff69747bf4bee5b19c9436d5">remainderTree</a> (<a class="el" href="structfq__poly__btree__t.html">fq_poly_btree_t</a> *, fq_t *, uint, const fq_ctx_t *)</td></tr>
<tr class="separator:a5360e6b2ff69747bf4bee5b19c9436d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6f77578d3e1c0df749f764cf6d73f49"><td class="memItemLeft" align="right" valign="top"><a id="ab6f77578d3e1c0df749f764cf6d73f49" name="ab6f77578d3e1c0df749f764cf6d73f49"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>fq_poly_multieval</b> (fq_t *, fq_t *, fq_poly_t, uint, const fq_ctx_t *)</td></tr>
<tr class="separator:ab6f77578d3e1c0df749f764cf6d73f49"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="a2ebc27408dca597f79fe56bcdced0408" name="a2ebc27408dca597f79fe56bcdced0408"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ebc27408dca597f79fe56bcdced0408">&#9670;&nbsp;</a></span>remainderCell()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void remainderCell </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structfq__poly__bcell__t.html">fq_poly_bcell_t</a> *&#160;</td>
<td class="paramname"><em>rop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">fq_t *&#160;</td>
<td class="paramname"><em>roots</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint&#160;</td>
<td class="paramname"><em>offset_start</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint&#160;</td>
<td class="paramname"><em>offset_end</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_ctx_t *&#160;</td>
<td class="paramname"><em>F</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Build a remainder tree from a fq_t roots array. This is supposed to be wrapped by the remainderTree function. The offset is used to slice the array (represent the position of element 0). This function is not responsible for the handling of the memory associated with the bcells. </p>
</div>
</div>
<a id="a5360e6b2ff69747bf4bee5b19c9436d5" name="a5360e6b2ff69747bf4bee5b19c9436d5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5360e6b2ff69747bf4bee5b19c9436d5">&#9670;&nbsp;</a></span>remainderTree()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void remainderTree </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structfq__poly__btree__t.html">fq_poly_btree_t</a> *&#160;</td>
<td class="paramname"><em>T</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">fq_t *&#160;</td>
<td class="paramname"><em>roots</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint&#160;</td>
<td class="paramname"><em>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_ctx_t *&#160;</td>
<td class="paramname"><em>F</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See remainderCell. T should be initialized. </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2
</small></address>
</body>
</html>