pub type G1Affine = Bn254G1Affine;
Aliased Type§
struct G1Affine { /* private fields */ }
Implementations
Source§impl Bn254G1Affine
impl Bn254G1Affine
pub fn get_non_qr() -> &'static Bn254Fp
Trait Implementations§
Source§impl CyclicGroup for G1Affine
impl CyclicGroup for G1Affine
Source§impl Add<&Bn254G1Affine> for Bn254G1Affine
impl Add<&Bn254G1Affine> for Bn254G1Affine
Source§type Output = Bn254G1Affine
type Output = Bn254G1Affine
The resulting type after applying the
+
operator.Source§impl Add for Bn254G1Affine
impl Add for Bn254G1Affine
Source§impl AddAssign<&Bn254G1Affine> for Bn254G1Affine
impl AddAssign<&Bn254G1Affine> for Bn254G1Affine
Source§fn add_assign(&mut self, p2: &Bn254G1Affine)
fn add_assign(&mut self, p2: &Bn254G1Affine)
Performs the
+=
operation. Read moreSource§impl AddAssign for Bn254G1Affine
impl AddAssign for Bn254G1Affine
Source§fn add_assign(&mut self, rhs: Self)
fn add_assign(&mut self, rhs: Self)
Performs the
+=
operation. Read moreSource§impl Clone for Bn254G1Affine
impl Clone for Bn254G1Affine
Source§fn clone(&self) -> Bn254G1Affine
fn clone(&self) -> Bn254G1Affine
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for Bn254G1Affine
impl Debug for Bn254G1Affine
Source§impl<'de> Deserialize<'de> for Bn254G1Affine
impl<'de> Deserialize<'de> for Bn254G1Affine
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl FromCompressed<Bn254Fp> for Bn254G1Affine
impl FromCompressed<Bn254Fp> for Bn254G1Affine
Source§fn hint_decompress(
x: &Bn254Fp,
rec_id: &u8,
) -> Option<DecompressionHint<Bn254Fp>>
fn hint_decompress( x: &Bn254Fp, rec_id: &u8, ) -> Option<DecompressionHint<Bn254Fp>>
If it exists, hints the unique
y
coordinate that is less than Coordinate::MODULUS
such that (x, y)
is a point on the curve and y
has parity equal to rec_id
.
If such y
does not exist, hints a coordinate sqrt
such that sqrt^2 = rhs * non_qr
where rhs
is the rhs of the curve equation and non_qr
is the non-quadratic residue
for this curve that was initialized in the setup function. Read moreSource§impl Group for Bn254G1Affine
impl Group for Bn254G1Affine
Source§impl Neg for Bn254G1Affine
impl Neg for Bn254G1Affine
Source§impl PartialEq for Bn254G1Affine
impl PartialEq for Bn254G1Affine
Source§impl Serialize for Bn254G1Affine
impl Serialize for Bn254G1Affine
Source§impl Sub<&Bn254G1Affine> for Bn254G1Affine
impl Sub<&Bn254G1Affine> for Bn254G1Affine
Source§type Output = Bn254G1Affine
type Output = Bn254G1Affine
The resulting type after applying the
-
operator.Source§impl Sub for Bn254G1Affine
impl Sub for Bn254G1Affine
Source§impl SubAssign<&Bn254G1Affine> for Bn254G1Affine
impl SubAssign<&Bn254G1Affine> for Bn254G1Affine
Source§fn sub_assign(&mut self, p2: &Bn254G1Affine)
fn sub_assign(&mut self, p2: &Bn254G1Affine)
Performs the
-=
operation. Read moreSource§impl SubAssign for Bn254G1Affine
impl SubAssign for Bn254G1Affine
Source§fn sub_assign(&mut self, rhs: Self)
fn sub_assign(&mut self, rhs: Self)
Performs the
-=
operation. Read moreSource§impl WeierstrassPoint for Bn254G1Affine
impl WeierstrassPoint for Bn254G1Affine
Source§fn as_le_bytes(&self) -> &[u8] ⓘ
fn as_le_bytes(&self) -> &[u8] ⓘ
SAFETY: assumes that #intmod_type has a memory representation such that with repr(C), two coordinates are packed contiguously.
Source§const CURVE_A: Bn254Fp = <Bn254Fp as openvm_algebra_guest::IntMod>::ZERO
const CURVE_A: Bn254Fp = <Bn254Fp as openvm_algebra_guest::IntMod>::ZERO
The
a
coefficient in the Weierstrass curve equation y^2 = x^3 + a x + b
.Source§const CURVE_B: Bn254Fp = CURVE_B
const CURVE_B: Bn254Fp = CURVE_B
The
b
coefficient in the Weierstrass curve equation y^2 = x^3 + a x + b
.const IDENTITY: Self
type Coordinate = Bn254Fp
Source§fn from_xy_unchecked(x: Self::Coordinate, y: Self::Coordinate) -> Self
fn from_xy_unchecked(x: Self::Coordinate, y: Self::Coordinate) -> Self
Raw constructor without asserting point is on the curve.
fn x(&self) -> &Self::Coordinate
fn y(&self) -> &Self::Coordinate
fn x_mut(&mut self) -> &mut Self::Coordinate
fn y_mut(&mut self) -> &mut Self::Coordinate
fn into_coords(self) -> (Self::Coordinate, Self::Coordinate)
Source§fn add_ne_nonidentity(&self, p2: &Self) -> Self
fn add_ne_nonidentity(&self, p2: &Self) -> Self
Hazmat: Assumes self != +- p2 and self != identity and p2 != identity.
Source§fn add_ne_assign_nonidentity(&mut self, p2: &Self)
fn add_ne_assign_nonidentity(&mut self, p2: &Self)
Hazmat: Assumes self != +- p2 and self != identity and p2 != identity.
Source§fn sub_ne_nonidentity(&self, p2: &Self) -> Self
fn sub_ne_nonidentity(&self, p2: &Self) -> Self
Hazmat: Assumes self != +- p2 and self != identity and p2 != identity.
Source§fn sub_ne_assign_nonidentity(&mut self, p2: &Self)
fn sub_ne_assign_nonidentity(&mut self, p2: &Self)
Hazmat: Assumes self != +- p2 and self != identity and p2 != identity.
Source§fn double_nonidentity(&self) -> Self
fn double_nonidentity(&self) -> Self
Hazmat: Assumes self != identity and 2 * self != identity.
Source§fn double_assign_nonidentity(&mut self)
fn double_assign_nonidentity(&mut self)
Hazmat: Assumes self != identity and 2 * self != identity.