dash-docs/en/doxygen/html/scalar__8x32__impl_8h.html

1688 lines
95 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Dash Core: src/secp256k1/src/scalar_8x32_impl.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="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(initResizable);
/* @license-end */</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="bitcoin_logo_doxygen.png"/></td>
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Dash Core
&#160;<span id="projectnumber">0.12.2.1</span>
</div>
<div id="projectbrief">P2P Digital Currency</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('scalar__8x32__impl_8h.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">scalar_8x32_impl.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p><a href="scalar__8x32__impl_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 name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a9e65a0592c11e099de8e8f58b38a14ae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a9e65a0592c11e099de8e8f58b38a14ae">SECP256K1_N_0</a>&#160;&#160;&#160;((uint32_t)0xD0364141UL)</td></tr>
<tr class="separator:a9e65a0592c11e099de8e8f58b38a14ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a53cc412ecd7e47061b65c0ff5c6db4e2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a53cc412ecd7e47061b65c0ff5c6db4e2">SECP256K1_N_1</a>&#160;&#160;&#160;((uint32_t)0xBFD25E8CUL)</td></tr>
<tr class="separator:a53cc412ecd7e47061b65c0ff5c6db4e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cfbef70d2cba970443032a43450d0b3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a5cfbef70d2cba970443032a43450d0b3">SECP256K1_N_2</a>&#160;&#160;&#160;((uint32_t)0xAF48A03BUL)</td></tr>
<tr class="separator:a5cfbef70d2cba970443032a43450d0b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d38f968c428d48fe1041ef38eec96d4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a1d38f968c428d48fe1041ef38eec96d4">SECP256K1_N_3</a>&#160;&#160;&#160;((uint32_t)0xBAAEDCE6UL)</td></tr>
<tr class="separator:a1d38f968c428d48fe1041ef38eec96d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af49420627eb89d20a39c6c9ad1abdda1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#af49420627eb89d20a39c6c9ad1abdda1">SECP256K1_N_4</a>&#160;&#160;&#160;((uint32_t)0xFFFFFFFEUL)</td></tr>
<tr class="separator:af49420627eb89d20a39c6c9ad1abdda1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c393acd02b626594cdb245a2baf782d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a1c393acd02b626594cdb245a2baf782d">SECP256K1_N_5</a>&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td></tr>
<tr class="separator:a1c393acd02b626594cdb245a2baf782d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2aadbc7f6ecb66c1e9c6e08ac6a362b0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a2aadbc7f6ecb66c1e9c6e08ac6a362b0">SECP256K1_N_6</a>&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td></tr>
<tr class="separator:a2aadbc7f6ecb66c1e9c6e08ac6a362b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af6d852c6e2a7756ae93262dcd5588b78"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#af6d852c6e2a7756ae93262dcd5588b78">SECP256K1_N_7</a>&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td></tr>
<tr class="separator:af6d852c6e2a7756ae93262dcd5588b78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7004f2007d2a43820488d377d7167ece"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a7004f2007d2a43820488d377d7167ece">SECP256K1_N_C_0</a>&#160;&#160;&#160;(~<a class="el" href="scalar__8x32__impl_8h.html#a9e65a0592c11e099de8e8f58b38a14ae">SECP256K1_N_0</a> + 1)</td></tr>
<tr class="separator:a7004f2007d2a43820488d377d7167ece"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3f8f9c444183fbe3da955925b585290c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a3f8f9c444183fbe3da955925b585290c">SECP256K1_N_C_1</a>&#160;&#160;&#160;(~<a class="el" href="scalar__8x32__impl_8h.html#a53cc412ecd7e47061b65c0ff5c6db4e2">SECP256K1_N_1</a>)</td></tr>
<tr class="separator:a3f8f9c444183fbe3da955925b585290c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ba4e9e828bc0a11cf7ffc81cd823509"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a2ba4e9e828bc0a11cf7ffc81cd823509">SECP256K1_N_C_2</a>&#160;&#160;&#160;(~<a class="el" href="scalar__8x32__impl_8h.html#a5cfbef70d2cba970443032a43450d0b3">SECP256K1_N_2</a>)</td></tr>
<tr class="separator:a2ba4e9e828bc0a11cf7ffc81cd823509"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82beb160f9d4bae9b4c2615573e08330"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a82beb160f9d4bae9b4c2615573e08330">SECP256K1_N_C_3</a>&#160;&#160;&#160;(~<a class="el" href="scalar__8x32__impl_8h.html#a1d38f968c428d48fe1041ef38eec96d4">SECP256K1_N_3</a>)</td></tr>
<tr class="separator:a82beb160f9d4bae9b4c2615573e08330"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c82df2aab75218ad66f892a4d042501"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a1c82df2aab75218ad66f892a4d042501">SECP256K1_N_C_4</a>&#160;&#160;&#160;(1)</td></tr>
<tr class="separator:a1c82df2aab75218ad66f892a4d042501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a824415debca677af24eb249946df4404"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a824415debca677af24eb249946df4404">SECP256K1_N_H_0</a>&#160;&#160;&#160;((uint32_t)0x681B20A0UL)</td></tr>
<tr class="separator:a824415debca677af24eb249946df4404"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93c4692d6cad53df3cce3fb4631dee82"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a93c4692d6cad53df3cce3fb4631dee82">SECP256K1_N_H_1</a>&#160;&#160;&#160;((uint32_t)0xDFE92F46UL)</td></tr>
<tr class="separator:a93c4692d6cad53df3cce3fb4631dee82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dfabdaac8359544dd1131ca3af807ae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a5dfabdaac8359544dd1131ca3af807ae">SECP256K1_N_H_2</a>&#160;&#160;&#160;((uint32_t)0x57A4501DUL)</td></tr>
<tr class="separator:a5dfabdaac8359544dd1131ca3af807ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac658856dbff7e81aca7cdd131c05dde4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#ac658856dbff7e81aca7cdd131c05dde4">SECP256K1_N_H_3</a>&#160;&#160;&#160;((uint32_t)0x5D576E73UL)</td></tr>
<tr class="separator:ac658856dbff7e81aca7cdd131c05dde4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac989056e75a50d48b62d59f23f672f73"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#ac989056e75a50d48b62d59f23f672f73">SECP256K1_N_H_4</a>&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td></tr>
<tr class="separator:ac989056e75a50d48b62d59f23f672f73"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f398e7f8481aeaab8ed4ff9dde370cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a7f398e7f8481aeaab8ed4ff9dde370cd">SECP256K1_N_H_5</a>&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td></tr>
<tr class="separator:a7f398e7f8481aeaab8ed4ff9dde370cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95ba1afafdd6538e951d4034409ec764"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a95ba1afafdd6538e951d4034409ec764">SECP256K1_N_H_6</a>&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td></tr>
<tr class="separator:a95ba1afafdd6538e951d4034409ec764"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab2e4316a08ed3eaaca42a738c37de75"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#aab2e4316a08ed3eaaca42a738c37de75">SECP256K1_N_H_7</a>&#160;&#160;&#160;((uint32_t)0x7FFFFFFFUL)</td></tr>
<tr class="separator:aab2e4316a08ed3eaaca42a738c37de75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c03352e405b1d65f6afd0b7a0f01730"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a7c03352e405b1d65f6afd0b7a0f01730">muladd</a>(a, b)</td></tr>
<tr class="separator:a7c03352e405b1d65f6afd0b7a0f01730"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeb6e766b53f39bb9c0c9f6502aa3b62"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#adeb6e766b53f39bb9c0c9f6502aa3b62">muladd_fast</a>(a, b)</td></tr>
<tr class="separator:adeb6e766b53f39bb9c0c9f6502aa3b62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a838fb18f65d05d5d8e5ea9f0584af83f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a838fb18f65d05d5d8e5ea9f0584af83f">muladd2</a>(a, b)</td></tr>
<tr class="separator:a838fb18f65d05d5d8e5ea9f0584af83f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a833c2f6d148537ff7aac34a668c9a455"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a833c2f6d148537ff7aac34a668c9a455">sumadd</a>(a)</td></tr>
<tr class="separator:a833c2f6d148537ff7aac34a668c9a455"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f682f5ec94e74581289057925976d11"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a4f682f5ec94e74581289057925976d11">sumadd_fast</a>(a)</td></tr>
<tr class="separator:a4f682f5ec94e74581289057925976d11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2384e06d62f7580d7599d3b77b68acbb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a2384e06d62f7580d7599d3b77b68acbb">extract</a>(n)</td></tr>
<tr class="separator:a2384e06d62f7580d7599d3b77b68acbb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7738483bf87a265b882763603d527b3b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a7738483bf87a265b882763603d527b3b">extract_fast</a>(n)</td></tr>
<tr class="separator:a7738483bf87a265b882763603d527b3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a2381b5d7e18f94758064a32fbf5d54bb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a2381b5d7e18f94758064a32fbf5d54bb">secp256k1_scalar_clear</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r)</td></tr>
<tr class="separator:a2381b5d7e18f94758064a32fbf5d54bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b16ea07b106f63ec6581124e1e6d75e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a6b16ea07b106f63ec6581124e1e6d75e">secp256k1_scalar_set_int</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, unsigned int v)</td></tr>
<tr class="separator:a6b16ea07b106f63ec6581124e1e6d75e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab04554d2542b54bc5acd443ab9eb99a1"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#ab04554d2542b54bc5acd443ab9eb99a1">secp256k1_scalar_get_bits</a> (const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a, unsigned int offset, unsigned int <a class="el" href="tests_8c.html#ad43c3812e6d13e0518d9f8b8f463ffcf">count</a>)</td></tr>
<tr class="separator:ab04554d2542b54bc5acd443ab9eb99a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1f879094999b165babd24ee1f8ab0346"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a1f879094999b165babd24ee1f8ab0346">secp256k1_scalar_get_bits_var</a> (const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a, unsigned int offset, unsigned int <a class="el" href="tests_8c.html#ad43c3812e6d13e0518d9f8b8f463ffcf">count</a>)</td></tr>
<tr class="separator:a1f879094999b165babd24ee1f8ab0346"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13e982915006b138de5e2b3ab68238cb"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a13e982915006b138de5e2b3ab68238cb">secp256k1_scalar_check_overflow</a> (const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a)</td></tr>
<tr class="separator:a13e982915006b138de5e2b3ab68238cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a91448bca431e08547d90613f0be3420f"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a91448bca431e08547d90613f0be3420f">secp256k1_scalar_reduce</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, uint32_t overflow)</td></tr>
<tr class="separator:a91448bca431e08547d90613f0be3420f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83257652850276cd74c7cdd1f9444d9c"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a83257652850276cd74c7cdd1f9444d9c">secp256k1_scalar_add</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *b)</td></tr>
<tr class="separator:a83257652850276cd74c7cdd1f9444d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6596a0249548deb678f0b630204254f"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#ad6596a0249548deb678f0b630204254f">secp256k1_scalar_cadd_bit</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, unsigned int bit, int flag)</td></tr>
<tr class="separator:ad6596a0249548deb678f0b630204254f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d09257862898c77d71d594175c87176"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a3d09257862898c77d71d594175c87176">secp256k1_scalar_set_b32</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, const unsigned char *b32, int *overflow)</td></tr>
<tr class="separator:a3d09257862898c77d71d594175c87176"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fa08f8af5a23f505b44c9ef1bec1831"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a4fa08f8af5a23f505b44c9ef1bec1831">secp256k1_scalar_get_b32</a> (unsigned char *bin, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a)</td></tr>
<tr class="separator:a4fa08f8af5a23f505b44c9ef1bec1831"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4624a2cbcdda046878a2bd26e14707e"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#aa4624a2cbcdda046878a2bd26e14707e">secp256k1_scalar_is_zero</a> (const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a)</td></tr>
<tr class="separator:aa4624a2cbcdda046878a2bd26e14707e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3f1c1d4536adf835ee256878c222968"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#aa3f1c1d4536adf835ee256878c222968">secp256k1_scalar_negate</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a)</td></tr>
<tr class="separator:aa3f1c1d4536adf835ee256878c222968"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5f33e28f53abe64bc2fef43870e224c"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#ae5f33e28f53abe64bc2fef43870e224c">secp256k1_scalar_is_one</a> (const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a)</td></tr>
<tr class="separator:ae5f33e28f53abe64bc2fef43870e224c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab66620cbbe49bec3c7c02f4a1219c05"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#aab66620cbbe49bec3c7c02f4a1219c05">secp256k1_scalar_is_high</a> (const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a)</td></tr>
<tr class="separator:aab66620cbbe49bec3c7c02f4a1219c05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a854402245668666a879a0394e0ebfe01"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a854402245668666a879a0394e0ebfe01">secp256k1_scalar_cond_negate</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, int flag)</td></tr>
<tr class="separator:a854402245668666a879a0394e0ebfe01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f691512f6117e96c2a36ed09a2bc2fe"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a7f691512f6117e96c2a36ed09a2bc2fe">secp256k1_scalar_reduce_512</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, const uint32_t *l)</td></tr>
<tr class="separator:a7f691512f6117e96c2a36ed09a2bc2fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40a358de1e3ef9786b99c4d1fb66701b"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a40a358de1e3ef9786b99c4d1fb66701b">secp256k1_scalar_mul_512</a> (uint32_t *l, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *b)</td></tr>
<tr class="separator:a40a358de1e3ef9786b99c4d1fb66701b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af81533ccb8a9496acad74c1704c09ba1"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#af81533ccb8a9496acad74c1704c09ba1">secp256k1_scalar_sqr_512</a> (uint32_t *l, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a)</td></tr>
<tr class="separator:af81533ccb8a9496acad74c1704c09ba1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89db15f705c8eafcd10c08181523acd0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a89db15f705c8eafcd10c08181523acd0">secp256k1_scalar_mul</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *b)</td></tr>
<tr class="separator:a89db15f705c8eafcd10c08181523acd0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9fcdf1db22cb93c2a2f06b0a9c957d3"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#ae9fcdf1db22cb93c2a2f06b0a9c957d3">secp256k1_scalar_shr_int</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, int n)</td></tr>
<tr class="separator:ae9fcdf1db22cb93c2a2f06b0a9c957d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e65618baa17c59e89149a9f7e632f69"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a2e65618baa17c59e89149a9f7e632f69">secp256k1_scalar_sqr</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a)</td></tr>
<tr class="separator:a2e65618baa17c59e89149a9f7e632f69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82b458aab9138b7111490eae6cec6404"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a82b458aab9138b7111490eae6cec6404">secp256k1_scalar_eq</a> (const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *b)</td></tr>
<tr class="separator:a82b458aab9138b7111490eae6cec6404"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1867b2a6504ecb951d95f14e032bfa38"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="scalar__8x32__impl_8h.html#a1867b2a6504ecb951d95f14e032bfa38">secp256k1_scalar_mul_shift_var</a> (<a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *r, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *a, const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *b, unsigned int shift)</td></tr>
<tr class="separator:a1867b2a6504ecb951d95f14e032bfa38"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a2384e06d62f7580d7599d3b77b68acbb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2384e06d62f7580d7599d3b77b68acbb">&#9670;&nbsp;</a></span>extract</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define extract</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">n</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> (<a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>) = c0; \</div><div class="line"> c0 = c1; \</div><div class="line"> c1 = c2; \</div><div class="line"> c2 = 0; \</div><div class="line">}</div><div class="ttc" id="namespacefix-copyright-headers_html_aed10e06fbf20b2e50f73ff2d61f59e45"><div class="ttname"><a href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">fix-copyright-headers.n</a></div><div class="ttdeci">int n</div><div class="ttdef"><b>Definition:</b> <a href="fix-copyright-headers_8py_source.html#l00046">fix-copyright-headers.py:46</a></div></div>
</div><!-- fragment --><p>Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. </p>
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00334">334</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00491">secp256k1_scalar_mul_512()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00579">secp256k1_scalar_sqr_512()</a>.</p>
</div>
</div>
<a id="a7738483bf87a265b882763603d527b3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7738483bf87a265b882763603d527b3b">&#9670;&nbsp;</a></span>extract_fast</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define extract_fast</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">n</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> (<a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>) = c0; \</div><div class="line"> c0 = c1; \</div><div class="line"> c1 = 0; \</div><div class="line"> VERIFY_CHECK(c2 == 0); \</div><div class="line">}</div><div class="ttc" id="namespacefix-copyright-headers_html_aed10e06fbf20b2e50f73ff2d61f59e45"><div class="ttname"><a href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">fix-copyright-headers.n</a></div><div class="ttdeci">int n</div><div class="ttdef"><b>Definition:</b> <a href="fix-copyright-headers_8py_source.html#l00046">fix-copyright-headers.py:46</a></div></div>
</div><!-- fragment --><p>Extract the lowest 32 bits of (c0,c1,c2) into n, and left shift the number 32 bits. c2 is required to be zero. </p>
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00342">342</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00491">secp256k1_scalar_mul_512()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00579">secp256k1_scalar_sqr_512()</a>.</p>
</div>
</div>
<a id="a7c03352e405b1d65f6afd0b7a0f01730"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c03352e405b1d65f6afd0b7a0f01730">&#9670;&nbsp;</a></span>muladd</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define muladd</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">b&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> uint32_t tl, th; \</div><div class="line"> { \</div><div class="line"> uint64_t t = (uint64_t)a * b; \</div><div class="line"> th = t &gt;&gt; 32; <span class="comment">/* at most 0xFFFFFFFE */</span> \</div><div class="line"> tl = t; \</div><div class="line"> } \</div><div class="line"> c0 += tl; <span class="comment">/* overflow is handled on the next line */</span> \</div><div class="line"> th += (c0 &lt; tl) ? 1 : 0; <span class="comment">/* at most 0xFFFFFFFF */</span> \</div><div class="line"> c1 += th; <span class="comment">/* overflow is handled on the next line */</span> \</div><div class="line"> c2 += (c1 &lt; th) ? 1 : 0; <span class="comment">/* never overflows by contract (verified in the next line) */</span> \</div><div class="line"> VERIFY_CHECK((c1 &gt;= th) || (c2 != 0)); \</div><div class="line">}</div></div><!-- fragment --><p>Add a*b to the number defined by (c0,c1,c2). c2 must never overflow. </p>
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00266">266</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00491">secp256k1_scalar_mul_512()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00579">secp256k1_scalar_sqr_512()</a>.</p>
</div>
</div>
<a id="a838fb18f65d05d5d8e5ea9f0584af83f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a838fb18f65d05d5d8e5ea9f0584af83f">&#9670;&nbsp;</a></span>muladd2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define muladd2</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">b&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> uint32_t tl, th, th2, tl2; \</div><div class="line"> { \</div><div class="line"> uint64_t t = (uint64_t)a * b; \</div><div class="line"> th = t &gt;&gt; 32; <span class="comment">/* at most 0xFFFFFFFE */</span> \</div><div class="line"> tl = t; \</div><div class="line"> } \</div><div class="line"> th2 = th + th; <span class="comment">/* at most 0xFFFFFFFE (in case th was 0x7FFFFFFF) */</span> \</div><div class="line"> c2 += (th2 &lt; th) ? 1 : 0; <span class="comment">/* never overflows by contract (verified the next line) */</span> \</div><div class="line"> VERIFY_CHECK((th2 &gt;= th) || (c2 != 0)); \</div><div class="line"> tl2 = tl + tl; <span class="comment">/* at most 0xFFFFFFFE (in case the lowest 63 bits of tl were 0x7FFFFFFF) */</span> \</div><div class="line"> th2 += (tl2 &lt; tl) ? 1 : 0; <span class="comment">/* at most 0xFFFFFFFF */</span> \</div><div class="line"> c0 += tl2; <span class="comment">/* overflow is handled on the next line */</span> \</div><div class="line"> th2 += (c0 &lt; tl2) ? 1 : 0; <span class="comment">/* second overflow is handled on the next line */</span> \</div><div class="line"> c2 += (c0 &lt; tl2) &amp; (th2 == 0); <span class="comment">/* never overflows by contract (verified the next line) */</span> \</div><div class="line"> VERIFY_CHECK((c0 &gt;= tl2) || (th2 != 0) || (c2 != 0)); \</div><div class="line"> c1 += th2; <span class="comment">/* overflow is handled on the next line */</span> \</div><div class="line"> c2 += (c1 &lt; th2) ? 1 : 0; <span class="comment">/* never overflows by contract (verified the next line) */</span> \</div><div class="line"> VERIFY_CHECK((c1 &gt;= th2) || (c2 != 0)); \</div><div class="line">}</div></div><!-- fragment --><p>Add 2*a*b to the number defined by (c0,c1,c2). c2 must never overflow. </p>
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00295">295</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00579">secp256k1_scalar_sqr_512()</a>.</p>
</div>
</div>
<a id="adeb6e766b53f39bb9c0c9f6502aa3b62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adeb6e766b53f39bb9c0c9f6502aa3b62">&#9670;&nbsp;</a></span>muladd_fast</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define muladd_fast</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">a, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">&#160;</td>
<td class="paramname">b&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> uint32_t tl, th; \</div><div class="line"> { \</div><div class="line"> uint64_t t = (uint64_t)a * b; \</div><div class="line"> th = t &gt;&gt; 32; <span class="comment">/* at most 0xFFFFFFFE */</span> \</div><div class="line"> tl = t; \</div><div class="line"> } \</div><div class="line"> c0 += tl; <span class="comment">/* overflow is handled on the next line */</span> \</div><div class="line"> th += (c0 &lt; tl) ? 1 : 0; <span class="comment">/* at most 0xFFFFFFFF */</span> \</div><div class="line"> c1 += th; <span class="comment">/* never overflows by contract (verified in the next line) */</span> \</div><div class="line"> VERIFY_CHECK(c1 &gt;= th); \</div><div class="line">}</div></div><!-- fragment --><p>Add a*b to the number defined by (c0,c1). c1 must never overflow. </p>
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00281">281</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00491">secp256k1_scalar_mul_512()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00579">secp256k1_scalar_sqr_512()</a>.</p>
</div>
</div>
<a id="a9e65a0592c11e099de8e8f58b38a14ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e65a0592c11e099de8e8f58b38a14ae">&#9670;&nbsp;</a></span>SECP256K1_N_0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_0&#160;&#160;&#160;((uint32_t)0xD0364141UL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00011">11</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00075">secp256k1_scalar_check_overflow()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">secp256k1_scalar_cond_negate()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">secp256k1_scalar_negate()</a>.</p>
</div>
</div>
<a id="a53cc412ecd7e47061b65c0ff5c6db4e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53cc412ecd7e47061b65c0ff5c6db4e2">&#9670;&nbsp;</a></span>SECP256K1_N_1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_1&#160;&#160;&#160;((uint32_t)0xBFD25E8CUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00012">12</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00075">secp256k1_scalar_check_overflow()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">secp256k1_scalar_cond_negate()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">secp256k1_scalar_negate()</a>.</p>
</div>
</div>
<a id="a5cfbef70d2cba970443032a43450d0b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cfbef70d2cba970443032a43450d0b3">&#9670;&nbsp;</a></span>SECP256K1_N_2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_2&#160;&#160;&#160;((uint32_t)0xAF48A03BUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00013">13</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00075">secp256k1_scalar_check_overflow()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">secp256k1_scalar_cond_negate()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">secp256k1_scalar_negate()</a>.</p>
</div>
</div>
<a id="a1d38f968c428d48fe1041ef38eec96d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d38f968c428d48fe1041ef38eec96d4">&#9670;&nbsp;</a></span>SECP256K1_N_3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_3&#160;&#160;&#160;((uint32_t)0xBAAEDCE6UL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00014">14</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00075">secp256k1_scalar_check_overflow()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">secp256k1_scalar_cond_negate()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">secp256k1_scalar_negate()</a>.</p>
</div>
</div>
<a id="af49420627eb89d20a39c6c9ad1abdda1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af49420627eb89d20a39c6c9ad1abdda1">&#9670;&nbsp;</a></span>SECP256K1_N_4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_4&#160;&#160;&#160;((uint32_t)0xFFFFFFFEUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00015">15</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00075">secp256k1_scalar_check_overflow()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">secp256k1_scalar_cond_negate()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">secp256k1_scalar_negate()</a>.</p>
</div>
</div>
<a id="a1c393acd02b626594cdb245a2baf782d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c393acd02b626594cdb245a2baf782d">&#9670;&nbsp;</a></span>SECP256K1_N_5</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_5&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00016">16</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00075">secp256k1_scalar_check_overflow()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">secp256k1_scalar_cond_negate()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">secp256k1_scalar_negate()</a>.</p>
</div>
</div>
<a id="a2aadbc7f6ecb66c1e9c6e08ac6a362b0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2aadbc7f6ecb66c1e9c6e08ac6a362b0">&#9670;&nbsp;</a></span>SECP256K1_N_6</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_6&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00017">17</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00075">secp256k1_scalar_check_overflow()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">secp256k1_scalar_cond_negate()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">secp256k1_scalar_negate()</a>.</p>
</div>
</div>
<a id="af6d852c6e2a7756ae93262dcd5588b78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6d852c6e2a7756ae93262dcd5588b78">&#9670;&nbsp;</a></span>SECP256K1_N_7</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_7&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00018">18</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00075">secp256k1_scalar_check_overflow()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">secp256k1_scalar_cond_negate()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">secp256k1_scalar_negate()</a>.</p>
</div>
</div>
<a id="a7004f2007d2a43820488d377d7167ece"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7004f2007d2a43820488d377d7167ece">&#9670;&nbsp;</a></span>SECP256K1_N_C_0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_C_0&#160;&#160;&#160;(~<a class="el" href="scalar__8x32__impl_8h.html#a9e65a0592c11e099de8e8f58b38a14ae">SECP256K1_N_0</a> + 1)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00021">21</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00093">secp256k1_scalar_reduce()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>.</p>
</div>
</div>
<a id="a3f8f9c444183fbe3da955925b585290c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f8f9c444183fbe3da955925b585290c">&#9670;&nbsp;</a></span>SECP256K1_N_C_1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_C_1&#160;&#160;&#160;(~<a class="el" href="scalar__8x32__impl_8h.html#a53cc412ecd7e47061b65c0ff5c6db4e2">SECP256K1_N_1</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00022">22</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00093">secp256k1_scalar_reduce()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>.</p>
</div>
</div>
<a id="a2ba4e9e828bc0a11cf7ffc81cd823509"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ba4e9e828bc0a11cf7ffc81cd823509">&#9670;&nbsp;</a></span>SECP256K1_N_C_2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_C_2&#160;&#160;&#160;(~<a class="el" href="scalar__8x32__impl_8h.html#a5cfbef70d2cba970443032a43450d0b3">SECP256K1_N_2</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00023">23</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00093">secp256k1_scalar_reduce()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>.</p>
</div>
</div>
<a id="a82beb160f9d4bae9b4c2615573e08330"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82beb160f9d4bae9b4c2615573e08330">&#9670;&nbsp;</a></span>SECP256K1_N_C_3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_C_3&#160;&#160;&#160;(~<a class="el" href="scalar__8x32__impl_8h.html#a1d38f968c428d48fe1041ef38eec96d4">SECP256K1_N_3</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00024">24</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00093">secp256k1_scalar_reduce()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>.</p>
</div>
</div>
<a id="a1c82df2aab75218ad66f892a4d042501"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c82df2aab75218ad66f892a4d042501">&#9670;&nbsp;</a></span>SECP256K1_N_C_4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_C_4&#160;&#160;&#160;(1)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00025">25</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00093">secp256k1_scalar_reduce()</a>.</p>
</div>
</div>
<a id="a824415debca677af24eb249946df4404"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a824415debca677af24eb249946df4404">&#9670;&nbsp;</a></span>SECP256K1_N_H_0</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_H_0&#160;&#160;&#160;((uint32_t)0x681B20A0UL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00028">28</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00220">secp256k1_scalar_is_high()</a>.</p>
</div>
</div>
<a id="a93c4692d6cad53df3cce3fb4631dee82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93c4692d6cad53df3cce3fb4631dee82">&#9670;&nbsp;</a></span>SECP256K1_N_H_1</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_H_1&#160;&#160;&#160;((uint32_t)0xDFE92F46UL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00029">29</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00220">secp256k1_scalar_is_high()</a>.</p>
</div>
</div>
<a id="a5dfabdaac8359544dd1131ca3af807ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dfabdaac8359544dd1131ca3af807ae">&#9670;&nbsp;</a></span>SECP256K1_N_H_2</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_H_2&#160;&#160;&#160;((uint32_t)0x57A4501DUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00030">30</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00220">secp256k1_scalar_is_high()</a>.</p>
</div>
</div>
<a id="ac658856dbff7e81aca7cdd131c05dde4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac658856dbff7e81aca7cdd131c05dde4">&#9670;&nbsp;</a></span>SECP256K1_N_H_3</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_H_3&#160;&#160;&#160;((uint32_t)0x5D576E73UL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00031">31</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00220">secp256k1_scalar_is_high()</a>.</p>
</div>
</div>
<a id="ac989056e75a50d48b62d59f23f672f73"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac989056e75a50d48b62d59f23f672f73">&#9670;&nbsp;</a></span>SECP256K1_N_H_4</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_H_4&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00032">32</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00220">secp256k1_scalar_is_high()</a>.</p>
</div>
</div>
<a id="a7f398e7f8481aeaab8ed4ff9dde370cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f398e7f8481aeaab8ed4ff9dde370cd">&#9670;&nbsp;</a></span>SECP256K1_N_H_5</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_H_5&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00033">33</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00220">secp256k1_scalar_is_high()</a>.</p>
</div>
</div>
<a id="a95ba1afafdd6538e951d4034409ec764"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95ba1afafdd6538e951d4034409ec764">&#9670;&nbsp;</a></span>SECP256K1_N_H_6</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_H_6&#160;&#160;&#160;((uint32_t)0xFFFFFFFFUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00034">34</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00220">secp256k1_scalar_is_high()</a>.</p>
</div>
</div>
<a id="aab2e4316a08ed3eaaca42a738c37de75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab2e4316a08ed3eaaca42a738c37de75">&#9670;&nbsp;</a></span>SECP256K1_N_H_7</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SECP256K1_N_H_7&#160;&#160;&#160;((uint32_t)0x7FFFFFFFUL)</td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00035">35</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00220">secp256k1_scalar_is_high()</a>.</p>
</div>
</div>
<a id="a833c2f6d148537ff7aac34a668c9a455"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a833c2f6d148537ff7aac34a668c9a455">&#9670;&nbsp;</a></span>sumadd</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define sumadd</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">a</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> unsigned <span class="keywordtype">int</span> over; \</div><div class="line"> c0 += (a); <span class="comment">/* overflow is handled on the next line */</span> \</div><div class="line"> over = (c0 &lt; (a)) ? 1 : 0; \</div><div class="line"> c1 += over; <span class="comment">/* overflow is handled on the next line */</span> \</div><div class="line"> c2 += (c1 &lt; over) ? 1 : 0; <span class="comment">/* never overflows by contract */</span> \</div><div class="line">}</div></div><!-- fragment --><p>Add a to the number defined by (c0,c1,c2). c2 must never overflow. </p>
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00317">317</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>.</p>
</div>
</div>
<a id="a4f682f5ec94e74581289057925976d11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f682f5ec94e74581289057925976d11">&#9670;&nbsp;</a></span>sumadd_fast</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define sumadd_fast</td>
<td>(</td>
<td class="paramtype">&#160;</td>
<td class="paramname">a</td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">{ \</div><div class="line"> c0 += (a); <span class="comment">/* overflow is handled on the next line */</span> \</div><div class="line"> c1 += (c0 &lt; (a)) ? 1 : 0; <span class="comment">/* never overflows by contract (verified the next line) */</span> \</div><div class="line"> VERIFY_CHECK((c1 != 0) | (c0 &gt;= (a))); \</div><div class="line"> VERIFY_CHECK(c2 == 0); \</div><div class="line">}</div></div><!-- fragment --><p>Add a to the number defined by (c0,c1). c1 must never overflow, c2 must be zero. </p>
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00326">326</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a83257652850276cd74c7cdd1f9444d9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83257652850276cd74c7cdd1f9444d9c">&#9670;&nbsp;</a></span>secp256k1_scalar_add()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int secp256k1_scalar_add </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00115">115</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="ad6596a0249548deb678f0b630204254f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6596a0249548deb678f0b630204254f">&#9670;&nbsp;</a></span>secp256k1_scalar_cadd_bit()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void secp256k1_scalar_cadd_bit </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>bit</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>flag</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00139">139</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00700">secp256k1_scalar_mul_shift_var()</a>.</p>
</div>
</div>
<a id="a13e982915006b138de5e2b3ab68238cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13e982915006b138de5e2b3ab68238cb">&#9670;&nbsp;</a></span>secp256k1_scalar_check_overflow()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int secp256k1_scalar_check_overflow </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00075">75</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00115">secp256k1_scalar_add()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00139">secp256k1_scalar_cadd_bit()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00165">secp256k1_scalar_set_b32()</a>.</p>
</div>
</div>
<a id="a2381b5d7e18f94758064a32fbf5d54bb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2381b5d7e18f94758064a32fbf5d54bb">&#9670;&nbsp;</a></span>secp256k1_scalar_clear()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> void secp256k1_scalar_clear </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00037">37</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="a854402245668666a879a0394e0ebfe01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a854402245668666a879a0394e0ebfe01">&#9670;&nbsp;</a></span>secp256k1_scalar_cond_negate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int secp256k1_scalar_cond_negate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>flag</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">238</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="a82b458aab9138b7111490eae6cec6404"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82b458aab9138b7111490eae6cec6404">&#9670;&nbsp;</a></span>secp256k1_scalar_eq()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int secp256k1_scalar_eq </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00696">696</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="a4fa08f8af5a23f505b44c9ef1bec1831"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4fa08f8af5a23f505b44c9ef1bec1831">&#9670;&nbsp;</a></span>secp256k1_scalar_get_b32()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void secp256k1_scalar_get_b32 </td>
<td>(</td>
<td class="paramtype">unsigned char *&#160;</td>
<td class="paramname"><em>bin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00181">181</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="ab04554d2542b54bc5acd443ab9eb99a1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab04554d2542b54bc5acd443ab9eb99a1">&#9670;&nbsp;</a></span>secp256k1_scalar_get_bits()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> unsigned int secp256k1_scalar_get_bits </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00059">59</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00064">secp256k1_scalar_get_bits_var()</a>.</p>
</div>
</div>
<a id="a1f879094999b165babd24ee1f8ab0346"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1f879094999b165babd24ee1f8ab0346">&#9670;&nbsp;</a></span>secp256k1_scalar_get_bits_var()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> unsigned int secp256k1_scalar_get_bits_var </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>offset</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>count</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00064">64</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="aab66620cbbe49bec3c7c02f4a1219c05"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab66620cbbe49bec3c7c02f4a1219c05">&#9670;&nbsp;</a></span>secp256k1_scalar_is_high()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int secp256k1_scalar_is_high </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00220">220</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="ae5f33e28f53abe64bc2fef43870e224c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae5f33e28f53abe64bc2fef43870e224c">&#9670;&nbsp;</a></span>secp256k1_scalar_is_one()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int secp256k1_scalar_is_one </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00216">216</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="aa4624a2cbcdda046878a2bd26e14707e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa4624a2cbcdda046878a2bd26e14707e">&#9670;&nbsp;</a></span>secp256k1_scalar_is_zero()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int secp256k1_scalar_is_zero </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00192">192</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00238">secp256k1_scalar_cond_negate()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">secp256k1_scalar_negate()</a>.</p>
</div>
</div>
<a id="a89db15f705c8eafcd10c08181523acd0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89db15f705c8eafcd10c08181523acd0">&#9670;&nbsp;</a></span>secp256k1_scalar_mul()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void secp256k1_scalar_mul </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00647">647</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="a40a358de1e3ef9786b99c4d1fb66701b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40a358de1e3ef9786b99c4d1fb66701b">&#9670;&nbsp;</a></span>secp256k1_scalar_mul_512()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void secp256k1_scalar_mul_512 </td>
<td>(</td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>b</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00491">491</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00647">secp256k1_scalar_mul()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00700">secp256k1_scalar_mul_shift_var()</a>.</p>
</div>
</div>
<a id="a1867b2a6504ecb951d95f14e032bfa38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1867b2a6504ecb951d95f14e032bfa38">&#9670;&nbsp;</a></span>secp256k1_scalar_mul_shift_var()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> void secp256k1_scalar_mul_shift_var </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>shift</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00700">700</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="aa3f1c1d4536adf835ee256878c222968"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3f1c1d4536adf835ee256878c222968">&#9670;&nbsp;</a></span>secp256k1_scalar_negate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void secp256k1_scalar_negate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00196">196</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="a91448bca431e08547d90613f0be3420f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a91448bca431e08547d90613f0be3420f">&#9670;&nbsp;</a></span>secp256k1_scalar_reduce()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> int secp256k1_scalar_reduce </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint32_t&#160;</td>
<td class="paramname"><em>overflow</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00093">93</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00115">secp256k1_scalar_add()</a>, <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">secp256k1_scalar_reduce_512()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00165">secp256k1_scalar_set_b32()</a>.</p>
</div>
</div>
<a id="a7f691512f6117e96c2a36ed09a2bc2fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f691512f6117e96c2a36ed09a2bc2fe">&#9670;&nbsp;</a></span>secp256k1_scalar_reduce_512()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void secp256k1_scalar_reduce_512 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const uint32_t *&#160;</td>
<td class="paramname"><em>l</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00349">349</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00647">secp256k1_scalar_mul()</a>, and <a class="el" href="scalar__8x32__impl_8h_source.html#l00669">secp256k1_scalar_sqr()</a>.</p>
</div>
</div>
<a id="a3d09257862898c77d71d594175c87176"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d09257862898c77d71d594175c87176">&#9670;&nbsp;</a></span>secp256k1_scalar_set_b32()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void secp256k1_scalar_set_b32 </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const unsigned char *&#160;</td>
<td class="paramname"><em>b32</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>overflow</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00165">165</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="a6b16ea07b106f63ec6581124e1e6d75e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b16ea07b106f63ec6581124e1e6d75e">&#9670;&nbsp;</a></span>secp256k1_scalar_set_int()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static <a class="el" href="secp256k1_8h.html#a7ddc487fd46aee88f21cabedb7268b1e">SECP256K1_INLINE</a> void secp256k1_scalar_set_int </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned int&#160;</td>
<td class="paramname"><em>v</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00048">48</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="ae9fcdf1db22cb93c2a2f06b0a9c957d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9fcdf1db22cb93c2a2f06b0a9c957d3">&#9670;&nbsp;</a></span>secp256k1_scalar_shr_int()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static int secp256k1_scalar_shr_int </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>n</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00653">653</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="a2e65618baa17c59e89149a9f7e632f69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2e65618baa17c59e89149a9f7e632f69">&#9670;&nbsp;</a></span>secp256k1_scalar_sqr()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void secp256k1_scalar_sqr </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>r</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00669">669</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
</div>
</div>
<a id="af81533ccb8a9496acad74c1704c09ba1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af81533ccb8a9496acad74c1704c09ba1">&#9670;&nbsp;</a></span>secp256k1_scalar_sqr_512()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void secp256k1_scalar_sqr_512 </td>
<td>(</td>
<td class="paramtype">uint32_t *&#160;</td>
<td class="paramname"><em>l</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="structsecp256k1__scalar.html">secp256k1_scalar</a> *&#160;</td>
<td class="paramname"><em>a</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p class="definition">Definition at line <a class="el" href="scalar__8x32__impl_8h_source.html#l00579">579</a> of file <a class="el" href="scalar__8x32__impl_8h_source.html">scalar_8x32_impl.h</a>.</p>
<p class="reference">Referenced by <a class="el" href="scalar__8x32__impl_8h_source.html#l00669">secp256k1_scalar_sqr()</a>.</p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_44f34d1e62fda08bdb4ca69ab2d205ae.html">secp256k1</a></li><li class="navelem"><a class="el" href="dir_8db2ef784512d48b2a7d00369dfaac28.html">src</a></li><li class="navelem"><a class="el" href="scalar__8x32__impl_8h.html">scalar_8x32_impl.h</a></li>
<li class="footer">Generated on Thu Dec 14 2017 13:15:11 for Dash Core by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
</ul>
</div>
</body>
</html>