[−][src]Struct secp256k1::curve::Jacobian
A group element of the secp256k1 curve, in jacobian coordinates.
Fields
x: Field
y: Field
z: Field
infinity: bool
Methods
impl Jacobian
[src]
impl Jacobian
pub fn set_infinity(&mut self)
[src]
pub fn set_infinity(&mut self)
Set a group element (jacobian) equal to the point at infinity.
pub fn set_ge(&mut self, a: &Affine)
[src]
pub fn set_ge(&mut self, a: &Affine)
Set a group element (jacobian) equal to another which is given in affine coordinates.
pub fn from_ge(a: &Affine) -> Self
[src]
pub fn from_ge(a: &Affine) -> Self
pub fn eq_x_var(&self, x: &Field) -> bool
[src]
pub fn eq_x_var(&self, x: &Field) -> bool
Compare the X coordinate of a group element (jacobian).
pub fn neg_in_place(&mut self, a: &Jacobian)
[src]
pub fn neg_in_place(&mut self, a: &Jacobian)
Set r equal to the inverse of a (i.e., mirrored around the X axis).
pub fn neg(&self) -> Jacobian
[src]
pub fn neg(&self) -> Jacobian
pub fn is_infinity(&self) -> bool
[src]
pub fn is_infinity(&self) -> bool
Check whether a group element is the point at infinity.
pub fn has_quad_y_var(&self) -> bool
[src]
pub fn has_quad_y_var(&self) -> bool
Check whether a group element's y coordinate is a quadratic residue.
pub fn double_nonzero_in_place(&mut self, a: &Jacobian, rzr: Option<&mut Field>)
[src]
pub fn double_nonzero_in_place(&mut self, a: &Jacobian, rzr: Option<&mut Field>)
Set r equal to the double of a. If rzr is not-NULL, r->z = a->z * *rzr (where infinity means an implicit z = 0). a may not be zero. Constant time.
pub fn double_var_in_place(&mut self, a: &Jacobian, rzr: Option<&mut Field>)
[src]
pub fn double_var_in_place(&mut self, a: &Jacobian, rzr: Option<&mut Field>)
Set r equal to the double of a. If rzr is not-NULL, r->z = a->z * *rzr (where infinity means an implicit z = 0).
pub fn double_var(&self, rzr: Option<&mut Field>) -> Jacobian
[src]
pub fn double_var(&self, rzr: Option<&mut Field>) -> Jacobian
pub fn add_var_in_place(
&mut self,
a: &Jacobian,
b: &Jacobian,
rzr: Option<&mut Field>
)
[src]
pub fn add_var_in_place(
&mut self,
a: &Jacobian,
b: &Jacobian,
rzr: Option<&mut Field>
)
Set r equal to the sum of a and b. If rzr is non-NULL, r->z = a->z * *rzr (a cannot be infinity in that case).
pub fn add_var(&self, b: &Jacobian, rzr: Option<&mut Field>) -> Jacobian
[src]
pub fn add_var(&self, b: &Jacobian, rzr: Option<&mut Field>) -> Jacobian
pub fn add_ge_in_place(&mut self, a: &Jacobian, b: &Affine)
[src]
pub fn add_ge_in_place(&mut self, a: &Jacobian, b: &Affine)
Set r equal to the sum of a and b (with b given in affine coordinates, and not infinity).
pub fn add_ge(&self, b: &Affine) -> Jacobian
[src]
pub fn add_ge(&self, b: &Affine) -> Jacobian
pub fn add_ge_var_in_place(
&mut self,
a: &Jacobian,
b: &Affine,
rzr: Option<&mut Field>
)
[src]
pub fn add_ge_var_in_place(
&mut self,
a: &Jacobian,
b: &Affine,
rzr: Option<&mut Field>
)
Set r equal to the sum of a and b (with b given in affine coordinates). This is more efficient than secp256k1_gej_add_var. It is identical to secp256k1_gej_add_ge but without constant-time guarantee, and b is allowed to be infinity. If rzr is non-NULL, r->z = a->z * *rzr (a cannot be infinity in that case).
pub fn add_ge_var(&self, b: &Affine, rzr: Option<&mut Field>) -> Jacobian
[src]
pub fn add_ge_var(&self, b: &Affine, rzr: Option<&mut Field>) -> Jacobian
pub fn add_zinv_var_in_place(&mut self, a: &Jacobian, b: &Affine, bzinv: &Field)
[src]
pub fn add_zinv_var_in_place(&mut self, a: &Jacobian, b: &Affine, bzinv: &Field)
Set r equal to the sum of a and b (with the inverse of b's Z coordinate passed as bzinv).
pub fn add_zinv_var(&mut self, b: &Affine, bzinv: &Field) -> Jacobian
[src]
pub fn add_zinv_var(&mut self, b: &Affine, bzinv: &Field) -> Jacobian
pub fn clear(&mut self)
[src]
pub fn clear(&mut self)
Clear a secp256k1_gej to prevent leaking sensitive information.
pub fn rescale(&mut self, s: &Field)
[src]
pub fn rescale(&mut self, s: &Field)
Rescale a jacobian point by b which must be non-zero. Constant-time.
Trait Implementations
impl PartialEq<Jacobian> for Jacobian
[src]
impl PartialEq<Jacobian> for Jacobian
impl Eq for Jacobian
[src]
impl Eq for Jacobian
impl Debug for Jacobian
[src]
impl Debug for Jacobian
impl Clone for Jacobian
[src]
impl Clone for Jacobian
fn clone(&self) -> Jacobian
[src]
fn clone(&self) -> Jacobian
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Default for Jacobian
[src]
impl Default for Jacobian
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T> Borrow for T where
T: ?Sized,
[src]
impl<T> Borrow for T where
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
impl<T> BorrowMut for T where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
fn borrow_mut(&mut self) -> &mut T
impl<T> Any for T where
T: 'static + ?Sized,
[src]
impl<T> Any for T where
T: 'static + ?Sized,
fn get_type_id(&self) -> TypeId
[src]
fn get_type_id(&self) -> TypeId
impl<T> Same for T
[src]
impl<T> Same for T
type Output = T
Should always be Self