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

34 lines
10 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="Chip implementations for the ECC gadgets."><title>halo2_gadgets::ecc::chip - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Regular-46f98efaafac5295.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Regular-018c141bf0843ffd.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/FiraSans-Medium-8f9a781e4970d388.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceSerif4-Bold-a2c9cd1067f8b328.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../../static.files/SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2"><link rel="stylesheet" href="../../../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../../../static.files/rustdoc-fa3bb1812debf86c.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="halo2_gadgets" data-themes="" data-resource-suffix="" data-rustdoc-version="1.75.0-nightly (2bbb61989 2023-10-04)" data-channel="nightly" data-search-js="search-8be46b629f5f14a8.js" data-settings-js="settings-74424d7eec62a23e.js" ><script src="../../../static.files/storage-fec3eaa3851e447d.js"></script><script defer src="../../../static.files/main-c5bd66d33317d69f.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-5d8b3c7633ad77ba.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-16x16-8b506e7a72182f1c.png"><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-422f7d1d52889060.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-2c020d218678b618.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="logo-container" href="../../../halo2_gadgets/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a></nav><nav class="sidebar"><a class="logo-container" href="../../../halo2_gadgets/index.html"><img class="rust-logo" src="../../../static.files/rust-logo-151179464ae7ed46.svg" alt="logo"></a><h2 class="location"><a href="#">Module chip</a></h2><div class="sidebar-elems"><section><ul class="block"><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></section></div></nav><main><div class="width-limiter"><nav class="sub"><form class="search-form"><span></span><input class="search-input" name="search" aria-label="Run search in the documentation" autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"><div id="help-button" title="help" tabindex="-1"><a href="../../../help.html">?</a></div><div id="settings-menu" tabindex="-1"><a href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../static.files/wheel-7b819b6101059cd0.svg"></a></div></form></nav><section id="main-content" class="content"><div class="main-heading"><h1>Module <a href="../../index.html">halo2_gadgets</a>::<wbr><a href="../index.html">ecc</a>::<wbr><a class="mod" href="#">chip</a><button id="copy-path" title="Copy item path to clipboard"><img src="../../../static.files/clipboard-7571035ce49a181d.svg" width="19" height="18" alt="Copy item path"></button></h1><span class="out-of-band"><a class="src" href="../../../src/halo2_gadgets/ecc/chip.rs.html#1-614">source</a> · <button id="toggle-all-docs" title="collapse all docs">[<span>&#x2212;</span>]</button></span></div><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Chip implementations for the ECC gadgets.</p>
</div></details><h2 id="reexports" class="small-section-header"><a href="#reexports">Re-exports</a></h2><ul class="item-table"><li><div class="item-name"><code>pub use <a class="mod" href="constants/index.html" title="mod halo2_gadgets::ecc::chip::constants">constants</a>::*;</code></div></li></ul><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2><ul class="item-table"><li><div class="item-name"><a class="mod" href="constants/index.html" title="mod halo2_gadgets::ecc::chip::constants">constants</a></div><div class="desc docblock-short">Constants required for the ECC chip.</div></li></ul><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2><ul class="item-table"><li><div class="item-name"><a class="struct" href="struct.EccChip.html" title="struct halo2_gadgets::ecc::chip::EccChip">EccChip</a></div><div class="desc docblock-short">An <a href="../trait.EccInstructions.html" title="trait halo2_gadgets::ecc::EccInstructions"><code>EccInstructions</code></a> chip that uses 10 advice columns.</div></li><li><div class="item-name"><a class="struct" href="struct.EccConfig.html" title="struct halo2_gadgets::ecc::chip::EccConfig">EccConfig</a></div><div class="desc docblock-short">Configuration for <a href="struct.EccChip.html" title="struct halo2_gadgets::ecc::chip::EccChip"><code>EccChip</code></a>.</div></li><li><div class="item-name"><a class="struct" href="struct.EccPoint.html" title="struct halo2_gadgets::ecc::chip::EccPoint">EccPoint</a></div><div class="desc docblock-short">A curve point represented in affine (x, y) coordinates, or the
identity represented as (0, 0).
Each coordinate is assigned to a cell.</div></li><li><div class="item-name"><a class="struct" href="struct.EccScalarFixed.html" title="struct halo2_gadgets::ecc::chip::EccScalarFixed">EccScalarFixed</a></div><div class="desc docblock-short">A full-width scalar used for fixed-base scalar multiplication.
This is decomposed into 85 3-bit windows in little-endian order,
i.e. <code>windows</code> = [k_0, k_1, …, k_84] (for a 255-bit scalar)
where <code>scalar = k_0 + k_1 * (2^3) + ... + k_84 * (2^3)^84</code> and
each <code>k_i</code> is in the range [0..2^3).</div></li><li><div class="item-name"><a class="struct" href="struct.EccScalarFixedShort.html" title="struct halo2_gadgets::ecc::chip::EccScalarFixedShort">EccScalarFixedShort</a></div><div class="desc docblock-short">A signed short scalar used for fixed-base scalar multiplication.
A short scalar must have magnitude in the range [0..2^64), with
a sign of either 1 or -1.
This is decomposed into 3-bit windows in little-endian order
using a running sum <code>z</code>, where z_{i+1} = (z_i - a_i) / (2^3)
for element α = a_0 + (2^3) a_1 + … + (2^{3(n-1)}) a_{n-1}.
Each <code>a_i</code> is in the range [0..2^3).</div></li><li><div class="item-name"><a class="struct" href="struct.NonIdentityEccPoint.html" title="struct halo2_gadgets::ecc::chip::NonIdentityEccPoint">NonIdentityEccPoint</a></div><div class="desc docblock-short">A non-identity point represented in affine (x, y) coordinates.
Each coordinate is assigned to a cell.</div></li></ul><h2 id="enums" class="small-section-header"><a href="#enums">Enums</a></h2><ul class="item-table"><li><div class="item-name"><a class="enum" href="enum.BaseFieldElem.html" title="enum halo2_gadgets::ecc::chip::BaseFieldElem">BaseFieldElem</a></div><div class="desc docblock-short">Type marker representing a base field element being used as a scalar in fixed-base
scalar multiplication.</div></li><li><div class="item-name"><a class="enum" href="enum.FullScalar.html" title="enum halo2_gadgets::ecc::chip::FullScalar">FullScalar</a></div><div class="desc docblock-short">Type marker representing a full-width scalar for use in fixed-base scalar
multiplication.</div></li><li><div class="item-name"><a class="enum" href="enum.ScalarVar.html" title="enum halo2_gadgets::ecc::chip::ScalarVar">ScalarVar</a></div><div class="desc docblock-short">An enumeration of the possible types of scalars used in variable-base
multiplication.</div></li><li><div class="item-name"><a class="enum" href="enum.ShortScalar.html" title="enum halo2_gadgets::ecc::chip::ShortScalar">ShortScalar</a></div><div class="desc docblock-short">Type marker representing a signed 64-bit scalar for use in fixed-base scalar
multiplication.</div></li></ul><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2><ul class="item-table"><li><div class="item-name"><a class="trait" href="trait.FixedPoint.html" title="trait halo2_gadgets::ecc::chip::FixedPoint">FixedPoint</a></div><div class="desc docblock-short">Returns information about a fixed point that is required by <a href="struct.EccChip.html" title="struct halo2_gadgets::ecc::chip::EccChip"><code>EccChip</code></a>.</div></li><li><div class="item-name"><a class="trait" href="trait.FixedScalarKind.html" title="trait halo2_gadgets::ecc::chip::FixedScalarKind">FixedScalarKind</a></div><div class="desc docblock-short">A trait representing the kind of scalar used with a particular <code>FixedPoint</code>.</div></li></ul></section></div></main></body></html>