halo2/rustdoc/latest/halo2_gadgets/ecc/chip/constants/index.html

40 lines
8.8 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><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Constants required for the ECC chip."><meta name="keywords" content="rust, rustlang, rust-lang, constants"><title>halo2_gadgets::ecc::chip::constants - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../../../storage.js"></script><script defer src="sidebar-items.js"></script><script defer src="../../../../main.js"></script><noscript><link rel="stylesheet" href="../../../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../../../favicon.svg"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.css" integrity="sha384-9eLZqc9ds8eNjO3TmqPeYcDj8n+Qfa4nuSiGYa6DjLNcv9BtN69ZIulL9+8CqC9Y" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/katex.min.js" integrity="sha384-K3vbOmF2BtaVai+Qk37uypf7VrgBubhQreNQe9aGsz9lB63dIFiQVlJbr92dw2Lx" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/katex@0.10.0/dist/contrib/auto-render.min.js" integrity="sha384-kmZOZB5ObwgQnS/DuDg6TScgOiWWBiVt0plIRkZCmE6rDZGrEOQeHM5PcHi+nyqe" crossorigin="anonymous"></script>
<script>
document.addEventListener("DOMContentLoaded", function() {
renderMathInElement(document.body, {
delimiters: [
{left: "$$", right: "$$", display: true},
{left: "\\(", right: "\\)", display: false},
{left: "$", right: "$", display: false},
{left: "\\[", right: "\\]", display: true}
]
});
});
</script>
</head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../../../halo2_gadgets/index.html"><div class="logo-container"><img class="rust-logo" src="../../../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../../../halo2_gadgets/index.html"><div class="logo-container"><img class="rust-logo" src="../../../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module constants</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></div></section></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../../../halo2_gadgets/index.html"><img class="rust-logo" src="../../../../rust-logo.svg" alt="logo"></a><nav class="sub"><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><button type="button" id="help-button" title="help">?</button><div id="settings-menu" tabindex="-1">
<a href="../../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../../wheel.svg"></a></div>
</div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../../../index.html">halo2_gadgets</a>::<wbr><a href="../../index.html">ecc</a>::<wbr><a href="../index.html">chip</a>::<wbr><a class="mod" href="#">constants</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../../../src/halo2_gadgets/ecc/chip/constants.rs.html#1-282">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Constants required for the ECC chip.</p>
</div></details><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.FIXED_BASE_WINDOW_SIZE.html" title="halo2_gadgets::ecc::chip::constants::FIXED_BASE_WINDOW_SIZE constant">FIXED_BASE_WINDOW_SIZE</a></div><div class="item-right docblock-short"><p>Window size for fixed-base scalar multiplication</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.H.html" title="halo2_gadgets::ecc::chip::constants::H constant">H</a></div><div class="item-right docblock-short"><p>$2^{<code>FIXED_BASE_WINDOW_SIZE</code>}$</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.NUM_WINDOWS.html" title="halo2_gadgets::ecc::chip::constants::NUM_WINDOWS constant">NUM_WINDOWS</a></div><div class="item-right docblock-short"><p>Number of windows for a full-width scalar</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.NUM_WINDOWS_SHORT.html" title="halo2_gadgets::ecc::chip::constants::NUM_WINDOWS_SHORT constant">NUM_WINDOWS_SHORT</a></div><div class="item-right docblock-short"><p>Number of windows for a short signed scalar</p>
</div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.compute_lagrange_coeffs.html" title="halo2_gadgets::ecc::chip::constants::compute_lagrange_coeffs fn">compute_lagrange_coeffs</a></div><div class="item-right docblock-short"><p>For each window, we interpolate the $x$-coordinate.
Here, we pre-compute and store the coefficients of the interpolation polynomial.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.find_zs_and_us.html" title="halo2_gadgets::ecc::chip::constants::find_zs_and_us fn">find_zs_and_us</a></div><div class="item-right docblock-short"><p>For each window, $z$ is a field element such that for each point $(x, y)$ in the window:</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.test_lagrange_coeffs.html" title="halo2_gadgets::ecc::chip::constants::test_lagrange_coeffs fn">test_lagrange_coeffs</a><span class="stab portability" title="Available on crate feature `test-dependencies` only"><code>test-dependencies</code></span></div><div class="item-right docblock-short"><p>Test that Lagrange interpolation coefficients reproduce the correct x-coordinate
for each fixed-base multiple in each window.</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.test_zs_and_us.html" title="halo2_gadgets::ecc::chip::constants::test_zs_and_us fn">test_zs_and_us</a><span class="stab portability" title="Available on crate feature `test-dependencies` only"><code>test-dependencies</code></span></div><div class="item-right docblock-short"><p>Test that the z-values and u-values satisfy the conditions:
1. z + y = u^2,
2. z - y is not a square
for the y-coordinate of each fixed-base multiple in each window.</p>
</div></div></div></section></div></main><div id="rustdoc-vars" data-root-path="../../../../" data-current-crate="halo2_gadgets" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.63.0-nightly (10f4ce324 2022-06-22)" ></div>
</body></html>