aztec-nr - std::embedded_curve_ops

Struct EmbeddedCurvePoint

pub struct EmbeddedCurvePoint {
    pub x: Field,
    pub y: Field,
    pub is_infinite: bool,
}

A point on the embedded elliptic curve By definition, the base field of the embedded curve is the scalar field of the proof system curve, i.e the Noir Field. x and y denotes the Weierstrass coordinates of the point, if is_infinite is false.

Fields

x: Field
y: Field
is_infinite: bool

Implementations

impl EmbeddedCurvePoint

pub fn double(self) -> Self

Elliptic curve point doubling operation returns the doubled point of a point P, i.e P+P

pub fn point_at_infinity() -> Self

Returns the null element of the curve; 'the point at infinity'

pub fn generator() -> Self

Returns the curve's generator point.

Trait implementations

impl Add for EmbeddedCurvePoint

pub fn add(self, other: Self) -> Self

Adds two points P+Q, using the curve addition formula, and also handles point at infinity

impl Eq for EmbeddedCurvePoint

pub fn eq(self, b: Self) -> bool

Checks whether two points are equal

impl Hash for EmbeddedCurvePoint

pub fn hash<H>(self, state: &mut H)
where H: Hasher

impl Neg for EmbeddedCurvePoint

pub fn neg(self) -> Self

Negates a point P, i.e returns -P, by negating the y coordinate. If the point is at infinity, then the result is also at infinity.

impl Sub for EmbeddedCurvePoint

pub fn sub(self, other: Self) -> Self

Points subtraction operation, using addition and negation