pub trait FixedPoint<C: CurveAffine>: Debug + Eq + Clone {
    type ScalarKind: ScalarKind;

    fn generator(&self) -> C;
    fn u(&self) -> Vec<[[u8; 32]; 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::ScalarKind, $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 Vecs.

Required Associated Types

The kind of scalar that this fixed point can be multiplied by.

Required Methods

Returns the generator for this fixed point.

Returns the $u$ values for this fixed point.

Returns the $z$ value for this fixed point.

Provided Methods

Returns the Lagrange coefficients for this fixed point.

Implementors