</head><bodyclass="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="logo-container"href="../../halo2_gadgets/index.html"><imgclass="rust-logo"src="../../static.files/rust-logo-151179464ae7ed46.svg"alt="logo"></a><h2></h2></nav><navclass="sidebar"><aclass="logo-container"href="../../halo2_gadgets/index.html"><imgclass="rust-logo"src="../../static.files/rust-logo-151179464ae7ed46.svg"alt="logo"></a><h2class="location"><ahref="#">Module ecc</a></h2><divclass="sidebar-elems"><section><ulclass="block"><li><ahref="#modules">Modules</a></li><li><ahref="#structs">Structs</a></li><li><ahref="#traits">Traits</a></li></ul></section></div></nav><main><divclass="width-limiter"><navclass="sub"><formclass="search-form"><span></span><inputclass="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"><divid="help-button"title="help"tabindex="-1"><ahref="../../help.html">?</a></div><divid="settings-menu"tabindex="-1"><ahref="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../static.files/wheel-5ec35bf9ca753509.svg"></a></div></form></nav><sectionid="main-content"class="content"><divclass="main-heading"><h1>Module <ahref="../index.html">halo2_gadgets</a>::<wbr><aclass="mod"href="#">ecc</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../static.files/clipboard-7571035ce49a181d.svg"width="19"height="18"alt="Copy item path"></button></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/halo2_gadgets/ecc.rs.html#1-918">source</a> · <buttonid="toggle-all-docs"title="collapse all docs">[<span>−</span>]</button></span></div><detailsclass="toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Elliptic curve operations.</p>
</div></details><h2id="modules"class="small-section-header"><ahref="#modules">Modules</a></h2><divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="mod"href="chip/index.html"title="halo2_gadgets::ecc::chip mod">chip</a></div><divclass="item-right docblock-short">Chip implementations for the ECC gadgets.</div></div></div><h2id="structs"class="small-section-header"><ahref="#structs">Structs</a></h2><divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.FixedPoint.html"title="halo2_gadgets::ecc::FixedPoint struct">FixedPoint</a></div><divclass="item-right docblock-short">Precomputed multiples of a fixed point, for full-width scalar multiplication.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.FixedPointBaseField.html"title="halo2_gadgets::ecc::FixedPointBaseField struct">FixedPointBaseField</a></div><divclass="item-right docblock-short">Precomputed multiples of a fixed point, that can be multiplied by base-field elements.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.FixedPointShort.html"title="halo2_gadgets::ecc::FixedPointShort struct">FixedPointShort</a></div><divclass="item-right docblock-short">Precomputed multiples of a fixed point, for short signed scalar multiplication.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.NonIdentityPoint.html"title="halo2_gadgets::ecc::NonIdentityPoint struct">NonIdentityPoint</a></div><divclass="item-right docblock-short">A point on a specific elliptic curve that is guaranteed to not be the identity.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.Point.html"title="halo2_gadgets::ecc::Point struct">Point</a></div><divclass="item-right docblock-short">A point on a specific elliptic curve.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.ScalarFixed.html"title="halo2_gadgets::ecc::ScalarFixed struct">ScalarFixed</a></div><divclass="item-right docblock-short">An integer representing an element of the scalar field for a specific elliptic curve,
for <ahref="struct.FixedPoint.html"title="FixedPoint"><code>FixedPoint</code></a> scalar multiplication.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.ScalarFixedShort.html"title="halo2_gadgets::ecc::ScalarFixedShort struct">ScalarFixedShort</a></div><divclass="item-right docblock-short">A signed short (64-bit) integer represented as an element of the scalar field for a
specific elliptic curve, to be used for <ahref="struct.FixedPointShort.html"title="FixedPointShort"><code>FixedPointShort</code></a> scalar multiplication.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.ScalarVar.html"title="halo2_gadgets::ecc::ScalarVar struct">ScalarVar</a></div><divclass="item-right docblock-short">An integer representing an element of the scalar field for a specific elliptic curve.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="struct"href="struct.X.html"title="halo2_gadgets::ecc::X struct">X</a></div><divclass="item-right docblock-short">The affine short Weierstrass x-coordinate of a point on a specific elliptic curve.</div></div></div><h2id="traits"class="small-section-header"><ahref="#traits">Traits</a></h2><divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="trait"href="trait.BaseFitsInScalarInstructions.html"title="halo2_gadgets::ecc::BaseFitsInScalarInstructions trait">BaseFitsInScalarInstructions</a></div><divclass="item-right docblock-short">Instructions that can be implemented for a curve whose base field fits into
its scalar field.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="trait"href="trait.EccInstructions.html"title="halo2_gadgets::ecc::EccInstructions trait">EccInstructions</a></div><divclass="item-right docblock-short">The set of circuit instructions required to use the ECC gadgets.</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="trait"href="trait.FixedPoints.html"title="halo2_gadgets::ecc::FixedPoints trait">FixedPoints</a></div><divclass="item-right docblock-short">Defines the fixed points for a given instantiation of the ECC chip.</div></div></div></section></div></main><divid="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.68.0-nightly (4c83bd03a 2023-01-19)"data-search-js="search-98d53477a794af0b.js"data-settings-js="settings-c3c521c753752a1a.js"data-settings-css="settings-ab1d4ae2ec52020e.css"></div></body></html>