Trait halo2_gadgets::ecc::chip::FixedPoint
source · [−]pub trait FixedPoint<C: CurveAffine>: Debug + Eq + Clone {
type FixedScalarKind: FixedScalarKind;
fn generator(&self) -> C;
fn u(&self) -> Vec<[<C::Base as PrimeField>::Repr; 8]>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
;
fn z(&self) -> Vec<u64>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
;
fn lagrange_coeffs(&self) -> Vec<[C::Base; 8]>ⓘNotable traits for Vec<u8, A>impl<A> Write for Vec<u8, A>where
A: Allocator,
{ ... }
}
Expand description
Returns information about a fixed point that is required by EccChip
.
For each window required by Self::FixedScalarKind
, $z$ is a field element such that for
each point $(x, y)$ in the window:
- $z + y = u^2$ (some square in the field); and
- $z - y$ is not a square.
TODO: When associated consts can be used as const generics, introduce a
const NUM_WINDOWS: usize
associated const, and return NUM_WINDOWS
-sized
arrays instead of Vec
s.
Required Associated Types
The kind of scalar that this fixed point can be multiplied by.
Required Methods
Returns the $u$ values for this fixed point.