Struct halo2curves::bn256::G2
source · [−]Fields
x: Fq2
y: Fq2
z: Fq2
Implementations
Trait Implementations
sourceimpl<'b> AddAssign<&'b G2> for G2
impl<'b> AddAssign<&'b G2> for G2
sourcefn add_assign(&mut self, rhs: &'b G2)
fn add_assign(&mut self, rhs: &'b G2)
Performs the
+=
operation. Read moresourceimpl<'b> AddAssign<&'b G2Affine> for G2
impl<'b> AddAssign<&'b G2Affine> for G2
sourcefn add_assign(&mut self, rhs: &'b G2Affine)
fn add_assign(&mut self, rhs: &'b G2Affine)
Performs the
+=
operation. Read moresourceimpl AddAssign<G2> for G2
impl AddAssign<G2> for G2
sourcefn add_assign(&mut self, rhs: G2)
fn add_assign(&mut self, rhs: G2)
Performs the
+=
operation. Read moresourceimpl AddAssign<G2Affine> for G2
impl AddAssign<G2Affine> for G2
sourcefn add_assign(&mut self, rhs: G2Affine)
fn add_assign(&mut self, rhs: G2Affine)
Performs the
+=
operation. Read moresourceimpl CofactorGroup for G2
impl CofactorGroup for G2
type Subgroup = G2
type Subgroup = G2
The large prime-order subgroup in which cryptographic operations are performed.
If
Self
implements PrimeGroup
, then Self::Subgroup
may be Self
. Read moresourcefn clear_cofactor(&self) -> Self
fn clear_cofactor(&self) -> Self
Maps
self
to the prime-order subgroup by multiplying this element by some
k
-multiple of the cofactor. Read moresourcefn into_subgroup(self) -> CtOption<Self::Subgroup>
fn into_subgroup(self) -> CtOption<Self::Subgroup>
Returns
self
if it is contained in the prime-order subgroup. Read moresourcefn is_torsion_free(&self) -> Choice
fn is_torsion_free(&self) -> Choice
Determines if this element is “torsion free”, i.e., is contained in the
prime-order subgroup. Read more
fn is_small_order(&self) -> Choice
fn is_small_order(&self) -> Choice
Determines if this element is of small order. Read more
sourceimpl ConditionallySelectable for G2
impl ConditionallySelectable for G2
sourcefn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
fn conditional_select(a: &Self, b: &Self, choice: Choice) -> Self
sourcefn conditional_assign(&mut self, other: &Self, choice: Choice)
fn conditional_assign(&mut self, other: &Self, choice: Choice)
sourceimpl ConstantTimeEq for G2
impl ConstantTimeEq for G2
sourceimpl Curve for G2
impl Curve for G2
type AffineRepr = G2Affine
type AffineRepr = G2Affine
The affine representation for this elliptic curve.
sourcefn batch_normalize(p: &[Self], q: &mut [Self::AffineRepr])
fn batch_normalize(p: &[Self], q: &mut [Self::AffineRepr])
Converts a batch of projective elements into affine elements. This function will
panic if
p.len() != q.len()
. Read moresourceimpl CurveExt for G2
impl CurveExt for G2
sourcefn endo(&self) -> Self
fn endo(&self) -> Self
Apply the curve endomorphism by multiplying the x-coordinate
by an element of multiplicative order 3. Read more
sourcefn jacobian_coordinates(&self) -> (Fq2, Fq2, Fq2)
fn jacobian_coordinates(&self) -> (Fq2, Fq2, Fq2)
Return the Jacobian coordinates of this point.
sourcefn hash_to_curve<'a>(_: &'a str) -> Box<dyn Fn(&[u8]) -> Self + 'a>
fn hash_to_curve<'a>(_: &'a str) -> Box<dyn Fn(&[u8]) -> Self + 'a>
Requests a hasher that accepts messages and returns near-uniformly
distributed elements in the group, given domain prefix
domain_prefix
. Read moresourcefn is_on_curve(&self) -> Choice
fn is_on_curve(&self) -> Choice
Returns whether or not this element is on the curve; should
always be true unless an “unchecked” API was used. Read more
sourceimpl<'de> Deserialize<'de> for G2
impl<'de> Deserialize<'de> for G2
sourcefn 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
sourceimpl Group for G2
impl Group for G2
sourceimpl Group for G2
impl Group for G2
type Scalar = Fr
type Scalar = Fr
The group is assumed to be of prime order $p$.
Scalar
is the
associated scalar field of size $p$. Read moresourcefn group_zero() -> Self
fn group_zero() -> Self
Returns the additive identity of the group.
sourcefn group_scale(&mut self, by: &Self::Scalar)
fn group_scale(&mut self, by: &Self::Scalar)
Scales this group element by a scalar.
sourceimpl GroupEncoding for G2
impl GroupEncoding for G2
type Repr = G2Compressed
type Repr = G2Compressed
The encoding of group elements. Read more
sourcefn from_bytes(bytes: &Self::Repr) -> CtOption<Self>
fn from_bytes(bytes: &Self::Repr) -> CtOption<Self>
Attempts to deserialize a group element from its encoding.
sourcefn from_bytes_unchecked(bytes: &Self::Repr) -> CtOption<Self>
fn from_bytes_unchecked(bytes: &Self::Repr) -> CtOption<Self>
Attempts to deserialize a group element, not checking if the element is valid. Read more
sourceimpl<'b> MulAssign<&'b Fr> for G2
impl<'b> MulAssign<&'b Fr> for G2
sourcefn mul_assign(&mut self, rhs: &'b Fr)
fn mul_assign(&mut self, rhs: &'b Fr)
Performs the
*=
operation. Read moresourceimpl MulAssign<Fr> for G2
impl MulAssign<Fr> for G2
sourcefn mul_assign(&mut self, rhs: Fr)
fn mul_assign(&mut self, rhs: Fr)
Performs the
*=
operation. Read moresourceimpl SerdeObject for G2
impl SerdeObject for G2
sourcefn from_raw_bytes_unchecked(bytes: &[u8]) -> Self
fn from_raw_bytes_unchecked(bytes: &[u8]) -> Self
The purpose of unchecked functions is to read the internal memory representation
of a type from bytes as quickly as possible. No sanitization checks are performed
to ensure the bytes represent a valid object. As such this function should only be
used internally as an extension of machine memory. It should not be used to deserialize
externally provided data. Read more
fn from_raw_bytes(bytes: &[u8]) -> Option<Self>
fn to_raw_bytes(&self) -> Vec<u8>
sourcefn read_raw_unchecked<R: Read>(reader: &mut R) -> Self
fn read_raw_unchecked<R: Read>(reader: &mut R) -> Self
The purpose of unchecked functions is to read the internal memory representation
of a type from disk as quickly as possible. No sanitization checks are performed
to ensure the bytes represent a valid object. This function should only be used
internally when some machine state cannot be kept in memory (e.g., between runs)
and needs to be reloaded as quickly as possible. Read more
fn read_raw<R: Read>(reader: &mut R) -> Result<Self>
fn write_raw<W: Write>(&self, writer: &mut W) -> Result<()>
sourceimpl<'b> SubAssign<&'b G2> for G2
impl<'b> SubAssign<&'b G2> for G2
sourcefn sub_assign(&mut self, rhs: &'b G2)
fn sub_assign(&mut self, rhs: &'b G2)
Performs the
-=
operation. Read moresourceimpl<'b> SubAssign<&'b G2Affine> for G2
impl<'b> SubAssign<&'b G2Affine> for G2
sourcefn sub_assign(&mut self, rhs: &'b G2Affine)
fn sub_assign(&mut self, rhs: &'b G2Affine)
Performs the
-=
operation. Read moresourceimpl SubAssign<G2> for G2
impl SubAssign<G2> for G2
sourcefn sub_assign(&mut self, rhs: G2)
fn sub_assign(&mut self, rhs: G2)
Performs the
-=
operation. Read moresourceimpl SubAssign<G2Affine> for G2
impl SubAssign<G2Affine> for G2
sourcefn sub_assign(&mut self, rhs: G2Affine)
fn sub_assign(&mut self, rhs: G2Affine)
Performs the
-=
operation. Read moreimpl Copy for G2
impl Eq for G2
impl PrimeGroup for G2
Auto Trait Implementations
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ConditionallyNegatable for Twhere
T: ConditionallySelectable,
&'a T: for<'a> Neg<Output = T>,
impl<T> ConditionallyNegatable for Twhere
T: ConditionallySelectable,
&'a T: for<'a> Neg<Output = T>,
sourcefn conditional_negate(&mut self, choice: Choice)
fn conditional_negate(&mut self, choice: Choice)
impl<T> FmtForward for T
impl<T> FmtForward for T
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
Causes
self
to use its Binary
implementation when Debug
-formatted.fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read morefn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read morefn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.as_ref()
into the pipe function.fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> Rwhere
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.deref()
into the pipe function.impl<T> Tap for T
impl<T> Tap for T
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read morefn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read morefn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read morefn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read morefn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read morefn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the
Deref::Target
of a value. Read morefn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds. Read morefn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds. Read morefn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read morefn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Calls
.tap_ref()
only in debug builds, and is erased in release
builds. Read morefn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds. Read more