arnaucube
arnaucube/ark-curves-cherry-pickedPublic Self-hosted repository
Format
Pratyush Mishra pratyushmishra@berkeley.edu
Thu, 10 Dec 2020 18:37:59 -0800
commit

7f1fcd66967328a1c5a3d12f8b148d69f7d86888

parent

3198749ccb4a12cfedf4cf03ff7d5032815d744c

M curve-benches/benches/bls12_377.rs → curve-benches/benches/bls12_377.rs

@@ -1,15 +1,13 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; use ark_bls12_377::{ fq::Fq, fq2::Fq2, fr::Fr, Bls12_377, Fq12, G1Affine, G1Projective as G1, G2Affine, G2Projective as G2, }; -use ark_ec::{ - PairingEngine, ProjectiveCurve, -}; +use ark_ec::{PairingEngine, ProjectiveCurve}; use ark_ff::{ biginteger::{BigInteger256 as FrRepr, BigInteger384 as FqRepr}, BigInteger, Field, PrimeField, SquareRootField, UniformRand,
M curve-benches/benches/bls12_381.rs → curve-benches/benches/bls12_381.rs

@@ -1,15 +1,13 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; use ark_bls12_381::{ fq::Fq, fq2::Fq2, fr::Fr, Bls12_381, Fq12, G1Affine, G1Projective as G1, G2Affine, G2Projective as G2, }; -use ark_ec::{ - PairingEngine, ProjectiveCurve, -}; +use ark_ec::{PairingEngine, ProjectiveCurve}; use ark_ff::{ biginteger::{BigInteger256 as FrRepr, BigInteger384 as FqRepr}, BigInteger, Field, PrimeField, SquareRootField, UniformRand,
M curve-benches/benches/bn254.rs → curve-benches/benches/bn254.rs

@@ -1,15 +1,13 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; use ark_bn254::{ fq::Fq, fq2::Fq2, fr::Fr, Bn254, Fq12, G1Affine, G1Projective as G1, G2Affine, - G2Projective as G2, -}; -use ark_ec::{ - PairingEngine, ProjectiveCurve, + G2Projective as G2, }; +use ark_ec::{PairingEngine, ProjectiveCurve}; use ark_ff::{ biginteger::{BigInteger256 as FrRepr, BigInteger256 as FqRepr}, BigInteger, Field, PrimeField, SquareRootField, UniformRand,
M curve-benches/benches/bw6_761.rs → curve-benches/benches/bw6_761.rs

@@ -1,15 +1,13 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; use ark_bw6_761::{ fq::Fq, fq3::Fq3, fr::Fr, Fq6, G1Affine, G1Projective as G1, G2Affine, G2Projective as G2, BW6_761, }; -use ark_ec::{ - PairingEngine, ProjectiveCurve, -}; +use ark_ec::{PairingEngine, ProjectiveCurve}; use ark_ff::{ biginteger::{BigInteger384 as FrRepr, BigInteger768 as FqRepr}, BigInteger, Field, PrimeField, SquareRootField, UniformRand,
M curve-benches/benches/cp6_782.rs → curve-benches/benches/cp6_782.rs

@@ -1,7 +1,7 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; use ark_cp6_782::{ fq::Fq, fq3::Fq3, fr::Fr, Fq6, G1Affine, G1Projective as G1, G2Affine, G2Projective as G2,
M curve-benches/benches/ed_on_bls12_381.rs → curve-benches/benches/ed_on_bls12_381.rs

@@ -1,7 +1,7 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; use ark_ec::ProjectiveCurve; use ark_ed_on_bls12_381::{fq::Fq, fr::Fr, EdwardsAffine as GAffine, EdwardsProjective as G};
M curve-benches/benches/mnt4_298.rs → curve-benches/benches/mnt4_298.rs

@@ -1,11 +1,9 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; -use ark_ec::{ - PairingEngine, ProjectiveCurve, -}; +use ark_ec::{PairingEngine, ProjectiveCurve}; use ark_ff::{ biginteger::BigInteger320 as FqRepr, BigInteger, Field, PrimeField, SquareRootField, UniformRand,
M curve-benches/benches/mnt4_753.rs → curve-benches/benches/mnt4_753.rs

@@ -1,11 +1,9 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; -use ark_ec::{ - PairingEngine, ProjectiveCurve, -}; +use ark_ec::{PairingEngine, ProjectiveCurve}; use ark_ff::{ biginteger::BigInteger768 as FqRepr, BigInteger, Field, PrimeField, SquareRootField, UniformRand,
M curve-benches/benches/mnt6_298.rs → curve-benches/benches/mnt6_298.rs

@@ -1,11 +1,9 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; -use ark_ec::{ - PairingEngine, ProjectiveCurve, -}; +use ark_ec::{PairingEngine, ProjectiveCurve}; use ark_ff::{ biginteger::BigInteger320 as FqRepr, BigInteger, Field, PrimeField, SquareRootField, UniformRand,
M curve-benches/benches/mnt6_753.rs → curve-benches/benches/mnt6_753.rs

@@ -1,11 +1,9 @@

+use ark_curve_benches::*; use rand::SeedableRng; use rand_xorshift::XorShiftRng; use std::ops::{AddAssign, MulAssign, SubAssign}; -use ark_curve_benches::*; -use ark_ec::{ - PairingEngine, ProjectiveCurve, -}; +use ark_ec::{PairingEngine, ProjectiveCurve}; use ark_ff::{ biginteger::BigInteger768 as FqRepr, BigInteger, Field, PrimeField, SquareRootField, UniformRand,
M curve-benches/src/macros/ec.rs → curve-benches/src/macros/ec.rs

@@ -6,7 +6,6 @@ let mut rng = XorShiftRng::seed_from_u64(1231275789u64);

b.iter(|| <$projective>::rand(&mut rng)); } - fn mul_assign(b: &mut $crate::bencher::Bencher) { const SAMPLES: usize = 1000;

@@ -25,7 +24,6 @@ tmp

}); } - fn add_assign(b: &mut $crate::bencher::Bencher) { const SAMPLES: usize = 1000;

@@ -44,7 +42,6 @@ tmp

}); } - fn add_assign_mixed(b: &mut $crate::bencher::Bencher) { const SAMPLES: usize = 1000;

@@ -68,7 +65,6 @@ tmp

}); } - fn double(b: &mut $crate::bencher::Bencher) { const SAMPLES: usize = 1000;

@@ -87,7 +83,6 @@ tmp

}); } - fn deser(b: &mut $crate::bencher::Bencher) { use ark_ec::ProjectiveCurve; use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};

@@ -114,7 +109,6 @@ <$affine>::deserialize(&v[index..(index + num_bytes)]).unwrap()

}); } - fn ser(b: &mut $crate::bencher::Bencher) { use ark_ec::ProjectiveCurve; use ark_serialize::CanonicalSerialize;

@@ -137,7 +131,6 @@ tmp.serialize(&mut bytes)

}); } - fn deser_unchecked(b: &mut $crate::bencher::Bencher) { use ark_ec::ProjectiveCurve; use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};

@@ -164,7 +157,6 @@ <$affine>::deserialize_unchecked(&v[index..(index + num_bytes)]).unwrap()

}); } - fn ser_unchecked(b: &mut $crate::bencher::Bencher) { use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; const SAMPLES: usize = 1000;
M curve-benches/src/macros/field.rs → curve-benches/src/macros/field.rs

@@ -31,7 +31,7 @@ repr_mul2,

repr_div2, into_repr, from_repr, - ); + ); } use $modname::$modname; };

@@ -57,7 +57,7 @@ ser_unchecked,

deser_unchecked, // sqrt field stuff sqrt, - ); + ); } use $modname::$modname; };

@@ -80,7 +80,7 @@ ser,

deser, ser_unchecked, deser_unchecked, - ); + ); } use $modname::$modname; };

@@ -106,7 +106,6 @@ count = (count + 1) % SAMPLES;

tmp }); } - fn sub_assign(b: &mut $crate::bencher::Bencher) { const SAMPLES: usize = 1000;

@@ -141,7 +140,6 @@ count = (count + 1) % SAMPLES;

tmp }); } - fn negate(b: &mut $crate::bencher::Bencher) { const SAMPLES: usize = 1000;

@@ -193,7 +191,6 @@ tmp

}); } - fn inverse(b: &mut $crate::bencher::Bencher) { const SAMPLES: usize = 1000;

@@ -209,21 +206,22 @@ tmp

}); } - fn deser(b: &mut $crate::bencher::Bencher) { - use ark_serialize::{CanonicalSerialize, CanonicalDeserialize}; + use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; const SAMPLES: usize = 1000; let mut rng = XorShiftRng::seed_from_u64(1231275789u64); let mut num_bytes = 0; - let v: Vec<_> = (0..SAMPLES).flat_map(|_| { - let mut bytes = Vec::with_capacity(1000); - let tmp = $f::rand(&mut rng); - tmp.serialize(&mut bytes).unwrap(); - num_bytes = bytes.len(); - bytes - }).collect(); + let v: Vec<_> = (0..SAMPLES) + .flat_map(|_| { + let mut bytes = Vec::with_capacity(1000); + let tmp = $f::rand(&mut rng); + tmp.serialize(&mut bytes).unwrap(); + num_bytes = bytes.len(); + bytes + }) + .collect(); let mut count = 0; b.iter(|| {

@@ -233,7 +231,6 @@ <$f_type>::deserialize(&v[index..(index + num_bytes)]).unwrap()

}); } - fn ser(b: &mut $crate::bencher::Bencher) { use ark_serialize::CanonicalSerialize; const SAMPLES: usize = 1000;

@@ -249,25 +246,25 @@ let tmp = v[count];

count = (count + 1) % SAMPLES; bytes.clear(); tmp.serialize(&mut bytes) - }); } - fn deser_unchecked(b: &mut $crate::bencher::Bencher) { - use ark_serialize::{CanonicalSerialize, CanonicalDeserialize}; + use ark_serialize::{CanonicalDeserialize, CanonicalSerialize}; const SAMPLES: usize = 1000; let mut rng = XorShiftRng::seed_from_u64(1231275789u64); let mut num_bytes = 0; - let v: Vec<_> = (0..SAMPLES).flat_map(|_| { - let mut bytes = Vec::with_capacity(1000); - let tmp = $f::rand(&mut rng); - tmp.serialize_unchecked(&mut bytes).unwrap(); - num_bytes = bytes.len(); - bytes - }).collect(); + let v: Vec<_> = (0..SAMPLES) + .flat_map(|_| { + let mut bytes = Vec::with_capacity(1000); + let tmp = $f::rand(&mut rng); + tmp.serialize_unchecked(&mut bytes).unwrap(); + num_bytes = bytes.len(); + bytes + }) + .collect(); let mut count = 0; b.iter(|| {

@@ -276,7 +273,6 @@ let index = count * num_bytes;

<$f_type>::deserialize_unchecked(&v[index..(index + num_bytes)]).unwrap() }); } - fn ser_unchecked(b: &mut $crate::bencher::Bencher) { use ark_serialize::CanonicalSerialize;

@@ -293,10 +289,9 @@ let tmp = v[count];

count = (count + 1) % SAMPLES; bytes.clear(); tmp.serialize_unchecked(&mut bytes) - }); } - } + }; } #[macro_export]

@@ -313,7 +308,7 @@ let mut tmp = $f::rand(&mut rng);

tmp.square_in_place(); tmp }) - .collect(); + .collect(); let mut count = 0; b.iter(|| {

@@ -321,7 +316,7 @@ count = (count + 1) % SAMPLES;

v[count].sqrt() }); } - } + }; } #[macro_export]

@@ -343,7 +338,7 @@ tmp2.div2();

} (tmp1, tmp2) }) - .collect(); + .collect(); let mut count = 0; b.iter(|| {

@@ -369,7 +364,7 @@ tmp2.div2();

} (tmp1, tmp2) }) - .collect(); + .collect(); let mut count = 0; b.iter(|| {

@@ -456,5 +451,5 @@ count = (count + 1) % SAMPLES;

$f::from(v[count]); }); } - } + }; }
M curve-benches/src/macros/pairing.rs → curve-benches/src/macros/pairing.rs

@@ -14,16 +14,19 @@ let prepared = g1s

.into_iter() .zip(g2s) .map(|(g1, g2)| (g1.into(), g2.into())) - .collect::<Vec<(<$curve as PairingEngine>::G1Prepared, <$curve as PairingEngine>::G2Prepared)>>(); + .collect::<Vec<( + <$curve as PairingEngine>::G1Prepared, + <$curve as PairingEngine>::G2Prepared, + )>>(); let mut count = 0; b.iter(|| { - let tmp = $curve::miller_loop(&[(prepared[count].0.clone(), prepared[count].1.clone())]); + let tmp = + $curve::miller_loop(&[(prepared[count].0.clone(), prepared[count].1.clone())]); count = (count + 1) % SAMPLES; tmp }); } - fn final_exponentiation(b: &mut $crate::bencher::Bencher) { const SAMPLES: usize = 1000;

@@ -47,7 +50,6 @@ tmp

}); } - fn full_pairing(b: &mut $crate::bencher::Bencher) { const SAMPLES: usize = 1000;

@@ -65,11 +67,6 @@ tmp

}); } - $crate::benchmark_group!( - pairing, - miller_loop, - final_exponentiation, - full_pairing, - ); - } + $crate::benchmark_group!(pairing, miller_loop, final_exponentiation, full_pairing,); + }; }