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

1389 lines
65 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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/EllipticCurves/memory.c 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_97be7e3b2e8c3a17ca81f31233de3221.html">EllipticCurves</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">memory.c File Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="memory_8h_source.html">memory.h</a>&quot;</code><br />
</div><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:ad42968f187d44dbb6d560544c1c820cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#ad42968f187d44dbb6d560544c1c820cf">SW_curve_init</a> (<a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E, const fq_ctx_t *F)</td></tr>
<tr class="separator:ad42968f187d44dbb6d560544c1c820cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91c3bb16fe26f2cf4bc368d6813a3a96"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a91c3bb16fe26f2cf4bc368d6813a3a96">SW_curve_set</a> (<a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E, const fq_ctx_t *F, const fq_t a, const fq_t b)</td></tr>
<tr class="separator:a91c3bb16fe26f2cf4bc368d6813a3a96"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9bda5eb4aef27f6561563817fe5032f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#ac9bda5eb4aef27f6561563817fe5032f">SW_curve_set_si</a> (<a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E, const fq_ctx_t *F, const slong a, const slong b)</td></tr>
<tr class="separator:ac9bda5eb4aef27f6561563817fe5032f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cf9c9642e876bd50b654dd3f99a0eee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a1cf9c9642e876bd50b654dd3f99a0eee">SW_curve_set_su</a> (<a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E, const fq_ctx_t *F, const ulong a, const ulong b)</td></tr>
<tr class="separator:a1cf9c9642e876bd50b654dd3f99a0eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e3bb5bfec0fd97eb43d40ba9b900f27"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a0e3bb5bfec0fd97eb43d40ba9b900f27">SW_curve_set_str</a> (<a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E, const fq_ctx_t *F, const char *str_a, const char *str_b, int b)</td></tr>
<tr class="separator:a0e3bb5bfec0fd97eb43d40ba9b900f27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2213cae39dbd5c05fc2cf3b439dba8aa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a2213cae39dbd5c05fc2cf3b439dba8aa">SW_curve_clear</a> (<a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E)</td></tr>
<tr class="separator:a2213cae39dbd5c05fc2cf3b439dba8aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2732a3d560335beaadddd7dd977dca1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a2732a3d560335beaadddd7dd977dca1d">SW_point_init</a> (<a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *P, <a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E)</td></tr>
<tr class="separator:a2732a3d560335beaadddd7dd977dca1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4772a81fdadb26678b63c6fc1d0cd1ca"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a4772a81fdadb26678b63c6fc1d0cd1ca">SW_point_set</a> (<a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *P, const fq_t x, const fq_t y, const fq_t z, <a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E)</td></tr>
<tr class="separator:a4772a81fdadb26678b63c6fc1d0cd1ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4909f77621b53e6956adcedcf7f5604f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a4909f77621b53e6956adcedcf7f5604f">SW_point_set_si</a> (<a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *P, const slong x, const slong y, const slong z, <a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E)</td></tr>
<tr class="separator:a4909f77621b53e6956adcedcf7f5604f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92f61c40036a69dc319c78643934df92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a92f61c40036a69dc319c78643934df92">SW_point_set_ui</a> (<a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *P, const ulong x, const ulong y, const ulong z, <a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *E)</td></tr>
<tr class="separator:a92f61c40036a69dc319c78643934df92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7d6e6d5b89fefde3d73c563a9b8ab06"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#ac7d6e6d5b89fefde3d73c563a9b8ab06">SW_point_clear</a> (<a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *P)</td></tr>
<tr class="separator:ac7d6e6d5b89fefde3d73c563a9b8ab06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb4772f943162600b419c7398e1aa95b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#afb4772f943162600b419c7398e1aa95b">MG_curve_init</a> (<a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E, const fq_ctx_t *F)</td></tr>
<tr class="separator:afb4772f943162600b419c7398e1aa95b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ccb51c842c864bfb43801e1eeccc292"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a6ccb51c842c864bfb43801e1eeccc292">MG_curve_set_</a> (<a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *rop, <a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *op)</td></tr>
<tr class="separator:a6ccb51c842c864bfb43801e1eeccc292"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a09ce008feec5f3a986676bd1444a016f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a09ce008feec5f3a986676bd1444a016f">MG_curve_set</a> (<a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E, const fq_ctx_t *F, const fq_t A, const fq_t B)</td></tr>
<tr class="separator:a09ce008feec5f3a986676bd1444a016f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5def7b7c8346e32c6ca178e8c7a46155"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a5def7b7c8346e32c6ca178e8c7a46155">MG_curve_set_si</a> (<a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E, const fq_ctx_t *F, const slong A, const slong B)</td></tr>
<tr class="separator:a5def7b7c8346e32c6ca178e8c7a46155"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70795cf429f9d23e631d0538250bddb0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a70795cf429f9d23e631d0538250bddb0">MG_curve_set_ui</a> (<a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E, const fq_ctx_t *F, const ulong A, const ulong B)</td></tr>
<tr class="separator:a70795cf429f9d23e631d0538250bddb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecd12f09450c00342bfe3cc1782894ff"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#aecd12f09450c00342bfe3cc1782894ff">MG_curve_set_str</a> (<a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E, const fq_ctx_t *F, const char *str_A, const char *str_B, int b)</td></tr>
<tr class="separator:aecd12f09450c00342bfe3cc1782894ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4b6e982985bb31d368faf0b8a01b028"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#ab4b6e982985bb31d368faf0b8a01b028">MG_curve_clear</a> (<a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E)</td></tr>
<tr class="separator:ab4b6e982985bb31d368faf0b8a01b028"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a271d669f77bea3fa219c8b33e8b160a1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a271d669f77bea3fa219c8b33e8b160a1">MG_point_init</a> (<a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *P, <a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E)</td></tr>
<tr class="separator:a271d669f77bea3fa219c8b33e8b160a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05609d3a1c5c02fc34ca24d91eb1c030"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a05609d3a1c5c02fc34ca24d91eb1c030">MG_point_set</a> (<a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *P, const fq_t X, const fq_t Z, <a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E)</td></tr>
<tr class="separator:a05609d3a1c5c02fc34ca24d91eb1c030"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8856f2d0a3ac169a5ae286c9342dac94"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a8856f2d0a3ac169a5ae286c9342dac94">MG_point_set_</a> (<a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *P, <a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *Q)</td></tr>
<tr class="separator:a8856f2d0a3ac169a5ae286c9342dac94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28910c11c9602bda891233ce5c8f7f47"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a28910c11c9602bda891233ce5c8f7f47">MG_point_set_si</a> (<a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *P, const slong X, const slong Z, <a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E)</td></tr>
<tr class="separator:a28910c11c9602bda891233ce5c8f7f47"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0889ae92cf7c0e4b2b357ce7f8af2703"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a0889ae92cf7c0e4b2b357ce7f8af2703">MG_point_set_ui</a> (<a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *P, const ulong X, const ulong Z, <a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E)</td></tr>
<tr class="separator:a0889ae92cf7c0e4b2b357ce7f8af2703"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9102c8868df5d35bee37b2168db33a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#aa9102c8868df5d35bee37b2168db33a9">MG_point_set_fmpz</a> (<a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *P, const fmpz_t X, const fmpz_t Z, <a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E)</td></tr>
<tr class="separator:aa9102c8868df5d35bee37b2168db33a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2fdaff815986212fefd7ea9238c78d9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#ad2fdaff815986212fefd7ea9238c78d9">MG_point_set_str</a> (<a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *P, const char *X, const char *Z, <a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *E)</td></tr>
<tr class="separator:ad2fdaff815986212fefd7ea9238c78d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe7df92a00da2d06f461e9163ce69c9f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#afe7df92a00da2d06f461e9163ce69c9f">MG_point_set_infty</a> (<a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *P)</td></tr>
<tr class="separator:afe7df92a00da2d06f461e9163ce69c9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75f3642e35d5737dbce121326f207d34"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a75f3642e35d5737dbce121326f207d34">MG_point_clear</a> (<a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *P)</td></tr>
<tr class="separator:a75f3642e35d5737dbce121326f207d34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68d9d5a4c32d5fa18a23a808c65500c1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a68d9d5a4c32d5fa18a23a808c65500c1">TN_curve_init</a> (<a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *E, fmpz_t l, const fq_ctx_t *F)</td></tr>
<tr class="separator:a68d9d5a4c32d5fa18a23a808c65500c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac501c10909000f4b1b93f192a1b9320"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#aac501c10909000f4b1b93f192a1b9320">TN_curve_set</a> (<a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *E, const fq_t b, const fq_t c, fmpz_t l, const fq_ctx_t *F)</td></tr>
<tr class="separator:aac501c10909000f4b1b93f192a1b9320"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af34dcc04599f1ce19c5ab813ca72f7ad"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#af34dcc04599f1ce19c5ab813ca72f7ad">TN_curve_set_</a> (<a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *rop, <a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *op)</td></tr>
<tr class="separator:af34dcc04599f1ce19c5ab813ca72f7ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a6c551b4342042391f3fff003b74dde"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a8a6c551b4342042391f3fff003b74dde">TN_curve_set_si</a> (<a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *E, const slong b, const slong c, const slong l, const fq_ctx_t *F)</td></tr>
<tr class="separator:a8a6c551b4342042391f3fff003b74dde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dee607b3315876b00d1c84d4769b65c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a9dee607b3315876b00d1c84d4769b65c">TN_curve_set_ui</a> (<a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *E, const ulong b, const ulong c, ulong l, const fq_ctx_t *F)</td></tr>
<tr class="separator:a9dee607b3315876b00d1c84d4769b65c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ffa669bfa1e37e0a233ce04ab7f3c92"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#a5ffa669bfa1e37e0a233ce04ab7f3c92">TN_curve_set_str</a> (<a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *E, const char *str_b, const char *str_c, const char *str_l, int base, const fq_ctx_t *F)</td></tr>
<tr class="separator:a5ffa669bfa1e37e0a233ce04ab7f3c92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aadf1f0bdc974812c094cd3acec7161f0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="memory_8c.html#aadf1f0bdc974812c094cd3acec7161f0">TN_curve_clear</a> (<a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *E)</td></tr>
<tr class="separator:aadf1f0bdc974812c094cd3acec7161f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a id="ab4b6e982985bb31d368faf0b8a01b028" name="ab4b6e982985bb31d368faf0b8a01b028"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4b6e982985bb31d368faf0b8a01b028">&#9670;&nbsp;</a></span>MG_curve_clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_curve_clear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Clears the given curve, releasing any memory used. It must be reinitialised in order to be used again. </p>
</div>
</div>
<a id="afb4772f943162600b419c7398e1aa95b" name="afb4772f943162600b419c7398e1aa95b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb4772f943162600b419c7398e1aa95b">&#9670;&nbsp;</a></span>MG_curve_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_curve_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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 >Initializes E for use, with context F, and setting its coefficients to zero. A corresponding call to <a class="el" href="memory_8c.html#ab4b6e982985bb31d368faf0b8a01b028">MG_curve_clear()</a> must be made after finishing with the <a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> to free the memory used by the curve. </p>
</div>
</div>
<a id="a09ce008feec5f3a986676bd1444a016f" name="a09ce008feec5f3a986676bd1444a016f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a09ce008feec5f3a986676bd1444a016f">&#9670;&nbsp;</a></span>MG_curve_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_curve_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>B</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Sets E to elliptic curve over F in Montgomery form with coefficients A and B. Curve parameters are given as elements of F. </p>
</div>
</div>
<a id="a6ccb51c842c864bfb43801e1eeccc292" name="a6ccb51c842c864bfb43801e1eeccc292"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6ccb51c842c864bfb43801e1eeccc292">&#9670;&nbsp;</a></span>MG_curve_set_()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_curve_set_ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>rop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>op</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Sets elliptic curve rop in Montgomery form to curve op. This is aking to a deep copy. rop must be initialized. </p>
</div>
</div>
<a id="a5def7b7c8346e32c6ca178e8c7a46155" name="a5def7b7c8346e32c6ca178e8c7a46155"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5def7b7c8346e32c6ca178e8c7a46155">&#9670;&nbsp;</a></span>MG_curve_set_si()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_curve_set_si </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>B</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a09ce008feec5f3a986676bd1444a016f">MG_curve_set()</a>. Curve coefficients are given as signed integers. </p>
</div>
</div>
<a id="aecd12f09450c00342bfe3cc1782894ff" name="aecd12f09450c00342bfe3cc1782894ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aecd12f09450c00342bfe3cc1782894ff">&#9670;&nbsp;</a></span>MG_curve_set_str()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int MG_curve_set_str </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str_A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str_B</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a09ce008feec5f3a986676bd1444a016f">MG_curve_set()</a>. Parameters are given as null-terminated strings, in base b. The base b can vary between 2 and 62, inclusive. Returns 0 if the string contain valid inputs and 1 otherwise. </p>
</div>
</div>
<a id="a70795cf429f9d23e631d0538250bddb0" name="a70795cf429f9d23e631d0538250bddb0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a70795cf429f9d23e631d0538250bddb0">&#9670;&nbsp;</a></span>MG_curve_set_ui()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_curve_set_ui </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>B</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a09ce008feec5f3a986676bd1444a016f">MG_curve_set()</a>. Curve coefficients are given as unsigned integers. </p>
</div>
</div>
<a id="a75f3642e35d5737dbce121326f207d34" name="a75f3642e35d5737dbce121326f207d34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75f3642e35d5737dbce121326f207d34">&#9670;&nbsp;</a></span>MG_point_clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_point_clear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Clears the given point, releasing anZ memorZ used. It must be reinitialised in order to be used again. </p>
</div>
</div>
<a id="a271d669f77bea3fa219c8b33e8b160a1" name="a271d669f77bea3fa219c8b33e8b160a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a271d669f77bea3fa219c8b33e8b160a1">&#9670;&nbsp;</a></span>MG_point_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_point_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Initializes P for use, with context F, and setting its coefficients to zero. A corresponding call to <a class="el" href="memory_8c.html#ac7d6e6d5b89fefde3d73c563a9b8ab06">SW_point_clear()</a> must be made after finishing with the <a class="el" href="struct_s_w__point__t.html">SW_point_t</a> to free the memorZ used bZ the curve. TODO: swap F for E in parameters. A point is member of E not of F. </p>
</div>
</div>
<a id="a05609d3a1c5c02fc34ca24d91eb1c030" name="a05609d3a1c5c02fc34ca24d91eb1c030"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a05609d3a1c5c02fc34ca24d91eb1c030">&#9670;&nbsp;</a></span>MG_point_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_point_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>Z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Sets P to point of elliptic curve E with coordinates X, Z, z. Point parameters are given as elements of F. TODO: Check if P and E's fields are correct </p>
</div>
</div>
<a id="a8856f2d0a3ac169a5ae286c9342dac94" name="a8856f2d0a3ac169a5ae286c9342dac94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8856f2d0a3ac169a5ae286c9342dac94">&#9670;&nbsp;</a></span>MG_point_set_()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_point_set_ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>Q</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Sets P to the same point as Q. </p>
</div>
</div>
<a id="aa9102c8868df5d35bee37b2168db33a9" name="aa9102c8868df5d35bee37b2168db33a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9102c8868df5d35bee37b2168db33a9">&#9670;&nbsp;</a></span>MG_point_set_fmpz()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_point_set_fmpz </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fmpz_t&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fmpz_t&#160;</td>
<td class="paramname"><em>Z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a05609d3a1c5c02fc34ca24d91eb1c030">MG_point_set()</a>. Point coordinates are given as strings of integers. </p>
</div>
</div>
<a id="afe7df92a00da2d06f461e9163ce69c9f" name="afe7df92a00da2d06f461e9163ce69c9f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe7df92a00da2d06f461e9163ce69c9f">&#9670;&nbsp;</a></span>MG_point_set_infty()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_point_set_infty </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Sets P to the point at infinity on the underlying curve. </p>
</div>
</div>
<a id="a28910c11c9602bda891233ce5c8f7f47" name="a28910c11c9602bda891233ce5c8f7f47"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28910c11c9602bda891233ce5c8f7f47">&#9670;&nbsp;</a></span>MG_point_set_si()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_point_set_si </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>Z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a05609d3a1c5c02fc34ca24d91eb1c030">MG_point_set()</a>. Point coordinates are given as signed integers. </p>
</div>
</div>
<a id="ad2fdaff815986212fefd7ea9238c78d9" name="ad2fdaff815986212fefd7ea9238c78d9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2fdaff815986212fefd7ea9238c78d9">&#9670;&nbsp;</a></span>MG_point_set_str()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_point_set_str </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>Z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a05609d3a1c5c02fc34ca24d91eb1c030">MG_point_set()</a>. Point coordinates are given as strings of integers. </p>
</div>
</div>
<a id="a0889ae92cf7c0e4b2b357ce7f8af2703" name="a0889ae92cf7c0e4b2b357ce7f8af2703"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0889ae92cf7c0e4b2b357ce7f8af2703">&#9670;&nbsp;</a></span>MG_point_set_ui()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void MG_point_set_ui </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_m_g__point__t.html">MG_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>X</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>Z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_m_g__curve__t.html">MG_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a05609d3a1c5c02fc34ca24d91eb1c030">MG_point_set()</a>. Point coordinates are given as unsigned integers. </p>
</div>
</div>
<a id="a2213cae39dbd5c05fc2cf3b439dba8aa" name="a2213cae39dbd5c05fc2cf3b439dba8aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2213cae39dbd5c05fc2cf3b439dba8aa">&#9670;&nbsp;</a></span>SW_curve_clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_curve_clear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Clears the given curve, releasing any memory used. It must be reinitialised in order to be used again. </p>
</div>
</div>
<a id="ad42968f187d44dbb6d560544c1c820cf" name="ad42968f187d44dbb6d560544c1c820cf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad42968f187d44dbb6d560544c1c820cf">&#9670;&nbsp;</a></span>SW_curve_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_curve_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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 >Initializes E for use, with context F, and setting its coefficients to zero. A corresponding call to <a class="el" href="memory_8c.html#a2213cae39dbd5c05fc2cf3b439dba8aa">SW_curve_clear()</a> must be made after finishing with the <a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> to free the memory used by the curve. </p>
</div>
</div>
<a id="a91c3bb16fe26f2cf4bc368d6813a3a96" name="a91c3bb16fe26f2cf4bc368d6813a3a96"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91c3bb16fe26f2cf4bc368d6813a3a96">&#9670;&nbsp;</a></span>SW_curve_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_curve_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Sets E to elliptic curve over F in Weierstrass form with coefficients a and b. Curve parameters are given as elements of F. </p>
</div>
</div>
<a id="ac9bda5eb4aef27f6561563817fe5032f" name="ac9bda5eb4aef27f6561563817fe5032f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9bda5eb4aef27f6561563817fe5032f">&#9670;&nbsp;</a></span>SW_curve_set_si()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_curve_set_si </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a91c3bb16fe26f2cf4bc368d6813a3a96">SW_curve_set()</a>. Curve coefficients are given as signed integers. </p>
</div>
</div>
<a id="a0e3bb5bfec0fd97eb43d40ba9b900f27" name="a0e3bb5bfec0fd97eb43d40ba9b900f27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e3bb5bfec0fd97eb43d40ba9b900f27">&#9670;&nbsp;</a></span>SW_curve_set_str()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int SW_curve_set_str </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str_a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str_b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a91c3bb16fe26f2cf4bc368d6813a3a96">SW_curve_set()</a>. Parameters are given as null-terminated strings, in base b. The base b can vary between 2 and 62, inclusive. Returns 0 if the string contain valid inputs and 1 otherwise. </p>
</div>
</div>
<a id="a1cf9c9642e876bd50b654dd3f99a0eee" name="a1cf9c9642e876bd50b654dd3f99a0eee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cf9c9642e876bd50b654dd3f99a0eee">&#9670;&nbsp;</a></span>SW_curve_set_su()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_curve_set_su </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</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>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a91c3bb16fe26f2cf4bc368d6813a3a96">SW_curve_set()</a>. Curve coefficients are given as unsigned integers. </p>
</div>
</div>
<a id="ac7d6e6d5b89fefde3d73c563a9b8ab06" name="ac7d6e6d5b89fefde3d73c563a9b8ab06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7d6e6d5b89fefde3d73c563a9b8ab06">&#9670;&nbsp;</a></span>SW_point_clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_point_clear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Clears the given point, releasing any memory used. It must be reinitialised in order to be used again. </p>
</div>
</div>
<a id="a2732a3d560335beaadddd7dd977dca1d" name="a2732a3d560335beaadddd7dd977dca1d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2732a3d560335beaadddd7dd977dca1d">&#9670;&nbsp;</a></span>SW_point_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_point_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Initializes P for use, with context F, and setting its coefficients to zero. A corresponding call to <a class="el" href="memory_8c.html#ac7d6e6d5b89fefde3d73c563a9b8ab06">SW_point_clear()</a> must be made after finishing with the <a class="el" href="struct_s_w__point__t.html">SW_point_t</a> to free the memory used by the curve. TODO: swap F for E in parameters. A point is member of E not of F. </p>
</div>
</div>
<a id="a4772a81fdadb26678b63c6fc1d0cd1ca" name="a4772a81fdadb26678b63c6fc1d0cd1ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4772a81fdadb26678b63c6fc1d0cd1ca">&#9670;&nbsp;</a></span>SW_point_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_point_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Sets P to point of elliptic curve E with coordinates x, y, z. Point parameters are given as elements of F. TODO: Check if P and E's fields are correct </p>
</div>
</div>
<a id="a4909f77621b53e6956adcedcf7f5604f" name="a4909f77621b53e6956adcedcf7f5604f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4909f77621b53e6956adcedcf7f5604f">&#9670;&nbsp;</a></span>SW_point_set_si()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_point_set_si </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a4772a81fdadb26678b63c6fc1d0cd1ca">SW_point_set()</a>. Point coordinates are given as signed integers. </p>
</div>
</div>
<a id="a92f61c40036a69dc319c78643934df92" name="a92f61c40036a69dc319c78643934df92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92f61c40036a69dc319c78643934df92">&#9670;&nbsp;</a></span>SW_point_set_ui()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void SW_point_set_ui </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_s_w__point__t.html">SW_point_t</a> *&#160;</td>
<td class="paramname"><em>P</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>x</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>y</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>z</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_s_w__curve__t.html">SW_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >See <a class="el" href="memory_8c.html#a4772a81fdadb26678b63c6fc1d0cd1ca">SW_point_set()</a>. Point coordinates are given as unsigned integers. </p>
</div>
</div>
<a id="aadf1f0bdc974812c094cd3acec7161f0" name="aadf1f0bdc974812c094cd3acec7161f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aadf1f0bdc974812c094cd3acec7161f0">&#9670;&nbsp;</a></span>TN_curve_clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void TN_curve_clear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Clears the given curve, releasing any memory used. It must be reinitialised in order to be used again. </p>
</div>
</div>
<a id="a68d9d5a4c32d5fa18a23a808c65500c1" name="a68d9d5a4c32d5fa18a23a808c65500c1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a68d9d5a4c32d5fa18a23a808c65500c1">&#9670;&nbsp;</a></span>TN_curve_init()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void TN_curve_init </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">fmpz_t&#160;</td>
<td class="paramname"><em>l</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 >Initializes E for use, with context F, and setting its coefficients to zero. A corresponding call to <a class="el" href="memory_8c.html#aadf1f0bdc974812c094cd3acec7161f0">TN_curve_clear()</a> must be made after finishing with the <a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> to free the memory used by the curve. </p>
</div>
</div>
<a id="aac501c10909000f4b1b93f192a1b9320" name="aac501c10909000f4b1b93f192a1b9320"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac501c10909000f4b1b93f192a1b9320">&#9670;&nbsp;</a></span>TN_curve_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void TN_curve_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const fq_t&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">fmpz_t&#160;</td>
<td class="paramname"><em>l</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 >Sets E to elliptic curve over F in Tate-normal form with coefficients A and B. Curve parameters are given as elements of F. </p>
</div>
</div>
<a id="af34dcc04599f1ce19c5ab813ca72f7ad" name="af34dcc04599f1ce19c5ab813ca72f7ad"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af34dcc04599f1ce19c5ab813ca72f7ad">&#9670;&nbsp;</a></span>TN_curve_set_()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void TN_curve_set_ </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *&#160;</td>
<td class="paramname"><em>rop</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *&#160;</td>
<td class="paramname"><em>op</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p >Deep copy </p>
</div>
</div>
<a id="a8a6c551b4342042391f3fff003b74dde" name="a8a6c551b4342042391f3fff003b74dde"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a6c551b4342042391f3fff003b74dde">&#9670;&nbsp;</a></span>TN_curve_set_si()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void TN_curve_set_si </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const slong&#160;</td>
<td class="paramname"><em>l</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 <a class="el" href="memory_8c.html#aac501c10909000f4b1b93f192a1b9320">TN_curve_set()</a>. Curve coefficients are given as signed integers. </p>
</div>
</div>
<a id="a5ffa669bfa1e37e0a233ce04ab7f3c92" name="a5ffa669bfa1e37e0a233ce04ab7f3c92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ffa669bfa1e37e0a233ce04ab7f3c92">&#9670;&nbsp;</a></span>TN_curve_set_str()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int TN_curve_set_str </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str_b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str_c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&#160;</td>
<td class="paramname"><em>str_l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>base</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 <a class="el" href="memory_8c.html#aac501c10909000f4b1b93f192a1b9320">TN_curve_set()</a>. Parameters are given as null-terminated strings, in base b. The base b can vary between 2 and 62, inclusive. Returns 0 if the string contain valid inputs and 1 otherwise. </p>
</div>
</div>
<a id="a9dee607b3315876b00d1c84d4769b65c" name="a9dee607b3315876b00d1c84d4769b65c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dee607b3315876b00d1c84d4769b65c">&#9670;&nbsp;</a></span>TN_curve_set_ui()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void TN_curve_set_ui </td>
<td>(</td>
<td class="paramtype"><a class="el" href="struct_t_n__curve__t.html">TN_curve_t</a> *&#160;</td>
<td class="paramname"><em>E</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const ulong&#160;</td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">ulong&#160;</td>
<td class="paramname"><em>l</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 <a class="el" href="memory_8c.html#aac501c10909000f4b1b93f192a1b9320">TN_curve_set()</a>. Curve coefficients are given as unsigned integers. </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>