snark_verifier::util::arithmetic

Trait Curve

Source
pub trait Curve:
    Group
    + GroupOps<Self::AffineRepr>
    + GroupOpsOwned<Self::AffineRepr> {
    type AffineRepr;

    // Required method
    fn to_affine(&self) -> Self::AffineRepr;

    // Provided method
    fn batch_normalize(p: &[Self], q: &mut [Self::AffineRepr]) { ... }
}
Expand description

Efficient representation of an elliptic curve point guaranteed.

Required Associated Types§

Source

type AffineRepr

The affine representation for this elliptic curve.

Required Methods§

Source

fn to_affine(&self) -> Self::AffineRepr

Converts this element into its affine representation.

Provided Methods§

Source

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().

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl Curve for G1Projective

Source§

impl Curve for G2Projective

Source§

impl Curve for G1

Source§

impl Curve for G2

Source§

impl Curve for Ed25519

Source§

impl Curve for G1

Source§

impl Curve for Eris

Source§

impl Curve for G1

Source§

impl Curve for G2

Source§

impl Curve for Secp256k1

Source§

impl Curve for Secp256r1

Source§

impl Curve for Secq256k1

Source§

impl Curve for ProjectivePoint

Source§

impl Curve for Ep

Source§

impl Curve for Eq

Implementors§