mirror of
https://github.com/arnaucube/ark-curves-cherry-picked.git
synced 2026-01-08 15:01:29 +01:00
Format
This commit is contained in:
@@ -1,15 +1,13 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_bls12_377::{
|
use ark_bls12_377::{
|
||||||
fq::Fq, fq2::Fq2, fr::Fr, Bls12_377, Fq12, G1Affine, G1Projective as G1, G2Affine,
|
fq::Fq, fq2::Fq2, fr::Fr, Bls12_377, Fq12, G1Affine, G1Projective as G1, G2Affine,
|
||||||
G2Projective as G2,
|
G2Projective as G2,
|
||||||
};
|
};
|
||||||
use ark_ec::{
|
use ark_ec::{PairingEngine, ProjectiveCurve};
|
||||||
PairingEngine, ProjectiveCurve,
|
|
||||||
};
|
|
||||||
use ark_ff::{
|
use ark_ff::{
|
||||||
biginteger::{BigInteger256 as FrRepr, BigInteger384 as FqRepr},
|
biginteger::{BigInteger256 as FrRepr, BigInteger384 as FqRepr},
|
||||||
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
|
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_bls12_381::{
|
use ark_bls12_381::{
|
||||||
fq::Fq, fq2::Fq2, fr::Fr, Bls12_381, Fq12, G1Affine, G1Projective as G1, G2Affine,
|
fq::Fq, fq2::Fq2, fr::Fr, Bls12_381, Fq12, G1Affine, G1Projective as G1, G2Affine,
|
||||||
G2Projective as G2,
|
G2Projective as G2,
|
||||||
};
|
};
|
||||||
use ark_ec::{
|
use ark_ec::{PairingEngine, ProjectiveCurve};
|
||||||
PairingEngine, ProjectiveCurve,
|
|
||||||
};
|
|
||||||
use ark_ff::{
|
use ark_ff::{
|
||||||
biginteger::{BigInteger256 as FrRepr, BigInteger384 as FqRepr},
|
biginteger::{BigInteger256 as FrRepr, BigInteger384 as FqRepr},
|
||||||
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
|
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_bn254::{
|
use ark_bn254::{
|
||||||
fq::Fq, fq2::Fq2, fr::Fr, Bn254, Fq12, G1Affine, G1Projective as G1, G2Affine,
|
fq::Fq, fq2::Fq2, fr::Fr, Bn254, Fq12, G1Affine, G1Projective as G1, G2Affine,
|
||||||
G2Projective as G2,
|
G2Projective as G2,
|
||||||
};
|
|
||||||
use ark_ec::{
|
|
||||||
PairingEngine, ProjectiveCurve,
|
|
||||||
};
|
};
|
||||||
|
use ark_ec::{PairingEngine, ProjectiveCurve};
|
||||||
use ark_ff::{
|
use ark_ff::{
|
||||||
biginteger::{BigInteger256 as FrRepr, BigInteger256 as FqRepr},
|
biginteger::{BigInteger256 as FrRepr, BigInteger256 as FqRepr},
|
||||||
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
|
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_bw6_761::{
|
use ark_bw6_761::{
|
||||||
fq::Fq, fq3::Fq3, fr::Fr, Fq6, G1Affine, G1Projective as G1, G2Affine, G2Projective as G2,
|
fq::Fq, fq3::Fq3, fr::Fr, Fq6, G1Affine, G1Projective as G1, G2Affine, G2Projective as G2,
|
||||||
BW6_761,
|
BW6_761,
|
||||||
};
|
};
|
||||||
use ark_ec::{
|
use ark_ec::{PairingEngine, ProjectiveCurve};
|
||||||
PairingEngine, ProjectiveCurve,
|
|
||||||
};
|
|
||||||
use ark_ff::{
|
use ark_ff::{
|
||||||
biginteger::{BigInteger384 as FrRepr, BigInteger768 as FqRepr},
|
biginteger::{BigInteger384 as FrRepr, BigInteger768 as FqRepr},
|
||||||
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
|
BigInteger, Field, PrimeField, SquareRootField, UniformRand,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_cp6_782::{
|
use ark_cp6_782::{
|
||||||
fq::Fq, fq3::Fq3, fr::Fr, Fq6, G1Affine, G1Projective as G1, G2Affine, G2Projective as G2,
|
fq::Fq, fq3::Fq3, fr::Fr, Fq6, G1Affine, G1Projective as G1, G2Affine, G2Projective as G2,
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_ec::ProjectiveCurve;
|
use ark_ec::ProjectiveCurve;
|
||||||
use ark_ed_on_bls12_381::{fq::Fq, fr::Fr, EdwardsAffine as GAffine, EdwardsProjective as G};
|
use ark_ed_on_bls12_381::{fq::Fq, fr::Fr, EdwardsAffine as GAffine, EdwardsProjective as G};
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_ec::{
|
use ark_ec::{PairingEngine, ProjectiveCurve};
|
||||||
PairingEngine, ProjectiveCurve,
|
|
||||||
};
|
|
||||||
use ark_ff::{
|
use ark_ff::{
|
||||||
biginteger::BigInteger320 as FqRepr, BigInteger, Field, PrimeField, SquareRootField,
|
biginteger::BigInteger320 as FqRepr, BigInteger, Field, PrimeField, SquareRootField,
|
||||||
UniformRand,
|
UniformRand,
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_ec::{
|
use ark_ec::{PairingEngine, ProjectiveCurve};
|
||||||
PairingEngine, ProjectiveCurve,
|
|
||||||
};
|
|
||||||
use ark_ff::{
|
use ark_ff::{
|
||||||
biginteger::BigInteger768 as FqRepr, BigInteger, Field, PrimeField, SquareRootField,
|
biginteger::BigInteger768 as FqRepr, BigInteger, Field, PrimeField, SquareRootField,
|
||||||
UniformRand,
|
UniformRand,
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_ec::{
|
use ark_ec::{PairingEngine, ProjectiveCurve};
|
||||||
PairingEngine, ProjectiveCurve,
|
|
||||||
};
|
|
||||||
use ark_ff::{
|
use ark_ff::{
|
||||||
biginteger::BigInteger320 as FqRepr, BigInteger, Field, PrimeField, SquareRootField,
|
biginteger::BigInteger320 as FqRepr, BigInteger, Field, PrimeField, SquareRootField,
|
||||||
UniformRand,
|
UniformRand,
|
||||||
|
|||||||
@@ -1,11 +1,9 @@
|
|||||||
|
use ark_curve_benches::*;
|
||||||
use rand::SeedableRng;
|
use rand::SeedableRng;
|
||||||
use rand_xorshift::XorShiftRng;
|
use rand_xorshift::XorShiftRng;
|
||||||
use std::ops::{AddAssign, MulAssign, SubAssign};
|
use std::ops::{AddAssign, MulAssign, SubAssign};
|
||||||
use ark_curve_benches::*;
|
|
||||||
|
|
||||||
use ark_ec::{
|
use ark_ec::{PairingEngine, ProjectiveCurve};
|
||||||
PairingEngine, ProjectiveCurve,
|
|
||||||
};
|
|
||||||
use ark_ff::{
|
use ark_ff::{
|
||||||
biginteger::BigInteger768 as FqRepr, BigInteger, Field, PrimeField, SquareRootField,
|
biginteger::BigInteger768 as FqRepr, BigInteger, Field, PrimeField, SquareRootField,
|
||||||
UniformRand,
|
UniformRand,
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ macro_rules! ec_bench {
|
|||||||
b.iter(|| <$projective>::rand(&mut rng));
|
b.iter(|| <$projective>::rand(&mut rng));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn mul_assign(b: &mut $crate::bencher::Bencher) {
|
fn mul_assign(b: &mut $crate::bencher::Bencher) {
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
@@ -25,7 +24,6 @@ macro_rules! ec_bench {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn add_assign(b: &mut $crate::bencher::Bencher) {
|
fn add_assign(b: &mut $crate::bencher::Bencher) {
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
@@ -44,7 +42,6 @@ macro_rules! ec_bench {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn add_assign_mixed(b: &mut $crate::bencher::Bencher) {
|
fn add_assign_mixed(b: &mut $crate::bencher::Bencher) {
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
@@ -68,7 +65,6 @@ macro_rules! ec_bench {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn double(b: &mut $crate::bencher::Bencher) {
|
fn double(b: &mut $crate::bencher::Bencher) {
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
@@ -87,7 +83,6 @@ macro_rules! ec_bench {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn deser(b: &mut $crate::bencher::Bencher) {
|
fn deser(b: &mut $crate::bencher::Bencher) {
|
||||||
use ark_ec::ProjectiveCurve;
|
use ark_ec::ProjectiveCurve;
|
||||||
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
|
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
|
||||||
@@ -114,7 +109,6 @@ macro_rules! ec_bench {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn ser(b: &mut $crate::bencher::Bencher) {
|
fn ser(b: &mut $crate::bencher::Bencher) {
|
||||||
use ark_ec::ProjectiveCurve;
|
use ark_ec::ProjectiveCurve;
|
||||||
use ark_serialize::CanonicalSerialize;
|
use ark_serialize::CanonicalSerialize;
|
||||||
@@ -137,7 +131,6 @@ macro_rules! ec_bench {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn deser_unchecked(b: &mut $crate::bencher::Bencher) {
|
fn deser_unchecked(b: &mut $crate::bencher::Bencher) {
|
||||||
use ark_ec::ProjectiveCurve;
|
use ark_ec::ProjectiveCurve;
|
||||||
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
|
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
|
||||||
@@ -164,7 +157,6 @@ macro_rules! ec_bench {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn ser_unchecked(b: &mut $crate::bencher::Bencher) {
|
fn ser_unchecked(b: &mut $crate::bencher::Bencher) {
|
||||||
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
|
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ macro_rules! f_bench {
|
|||||||
repr_div2,
|
repr_div2,
|
||||||
into_repr,
|
into_repr,
|
||||||
from_repr,
|
from_repr,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
use $modname::$modname;
|
use $modname::$modname;
|
||||||
};
|
};
|
||||||
@@ -57,7 +57,7 @@ macro_rules! f_bench {
|
|||||||
deser_unchecked,
|
deser_unchecked,
|
||||||
// sqrt field stuff
|
// sqrt field stuff
|
||||||
sqrt,
|
sqrt,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
use $modname::$modname;
|
use $modname::$modname;
|
||||||
};
|
};
|
||||||
@@ -80,7 +80,7 @@ macro_rules! f_bench {
|
|||||||
deser,
|
deser,
|
||||||
ser_unchecked,
|
ser_unchecked,
|
||||||
deser_unchecked,
|
deser_unchecked,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
use $modname::$modname;
|
use $modname::$modname;
|
||||||
};
|
};
|
||||||
@@ -107,7 +107,6 @@ macro_rules! field_common {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn sub_assign(b: &mut $crate::bencher::Bencher) {
|
fn sub_assign(b: &mut $crate::bencher::Bencher) {
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
@@ -142,7 +141,6 @@ macro_rules! field_common {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn negate(b: &mut $crate::bencher::Bencher) {
|
fn negate(b: &mut $crate::bencher::Bencher) {
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
@@ -193,7 +191,6 @@ macro_rules! field_common {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn inverse(b: &mut $crate::bencher::Bencher) {
|
fn inverse(b: &mut $crate::bencher::Bencher) {
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
@@ -209,21 +206,22 @@ macro_rules! field_common {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn deser(b: &mut $crate::bencher::Bencher) {
|
fn deser(b: &mut $crate::bencher::Bencher) {
|
||||||
use ark_serialize::{CanonicalSerialize, CanonicalDeserialize};
|
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
let mut rng = XorShiftRng::seed_from_u64(1231275789u64);
|
let mut rng = XorShiftRng::seed_from_u64(1231275789u64);
|
||||||
|
|
||||||
let mut num_bytes = 0;
|
let mut num_bytes = 0;
|
||||||
let v: Vec<_> = (0..SAMPLES).flat_map(|_| {
|
let v: Vec<_> = (0..SAMPLES)
|
||||||
let mut bytes = Vec::with_capacity(1000);
|
.flat_map(|_| {
|
||||||
let tmp = $f::rand(&mut rng);
|
let mut bytes = Vec::with_capacity(1000);
|
||||||
tmp.serialize(&mut bytes).unwrap();
|
let tmp = $f::rand(&mut rng);
|
||||||
num_bytes = bytes.len();
|
tmp.serialize(&mut bytes).unwrap();
|
||||||
bytes
|
num_bytes = bytes.len();
|
||||||
}).collect();
|
bytes
|
||||||
|
})
|
||||||
|
.collect();
|
||||||
|
|
||||||
let mut count = 0;
|
let mut count = 0;
|
||||||
b.iter(|| {
|
b.iter(|| {
|
||||||
@@ -233,7 +231,6 @@ macro_rules! field_common {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn ser(b: &mut $crate::bencher::Bencher) {
|
fn ser(b: &mut $crate::bencher::Bencher) {
|
||||||
use ark_serialize::CanonicalSerialize;
|
use ark_serialize::CanonicalSerialize;
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
@@ -249,25 +246,25 @@ macro_rules! field_common {
|
|||||||
count = (count + 1) % SAMPLES;
|
count = (count + 1) % SAMPLES;
|
||||||
bytes.clear();
|
bytes.clear();
|
||||||
tmp.serialize(&mut bytes)
|
tmp.serialize(&mut bytes)
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn deser_unchecked(b: &mut $crate::bencher::Bencher) {
|
fn deser_unchecked(b: &mut $crate::bencher::Bencher) {
|
||||||
use ark_serialize::{CanonicalSerialize, CanonicalDeserialize};
|
use ark_serialize::{CanonicalDeserialize, CanonicalSerialize};
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
let mut rng = XorShiftRng::seed_from_u64(1231275789u64);
|
let mut rng = XorShiftRng::seed_from_u64(1231275789u64);
|
||||||
|
|
||||||
let mut num_bytes = 0;
|
let mut num_bytes = 0;
|
||||||
let v: Vec<_> = (0..SAMPLES).flat_map(|_| {
|
let v: Vec<_> = (0..SAMPLES)
|
||||||
let mut bytes = Vec::with_capacity(1000);
|
.flat_map(|_| {
|
||||||
let tmp = $f::rand(&mut rng);
|
let mut bytes = Vec::with_capacity(1000);
|
||||||
tmp.serialize_unchecked(&mut bytes).unwrap();
|
let tmp = $f::rand(&mut rng);
|
||||||
num_bytes = bytes.len();
|
tmp.serialize_unchecked(&mut bytes).unwrap();
|
||||||
bytes
|
num_bytes = bytes.len();
|
||||||
}).collect();
|
bytes
|
||||||
|
})
|
||||||
|
.collect();
|
||||||
|
|
||||||
let mut count = 0;
|
let mut count = 0;
|
||||||
b.iter(|| {
|
b.iter(|| {
|
||||||
@@ -277,7 +274,6 @@ macro_rules! field_common {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn ser_unchecked(b: &mut $crate::bencher::Bencher) {
|
fn ser_unchecked(b: &mut $crate::bencher::Bencher) {
|
||||||
use ark_serialize::CanonicalSerialize;
|
use ark_serialize::CanonicalSerialize;
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
@@ -293,10 +289,9 @@ macro_rules! field_common {
|
|||||||
count = (count + 1) % SAMPLES;
|
count = (count + 1) % SAMPLES;
|
||||||
bytes.clear();
|
bytes.clear();
|
||||||
tmp.serialize_unchecked(&mut bytes)
|
tmp.serialize_unchecked(&mut bytes)
|
||||||
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
@@ -313,7 +308,7 @@ macro_rules! sqrt {
|
|||||||
tmp.square_in_place();
|
tmp.square_in_place();
|
||||||
tmp
|
tmp
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let mut count = 0;
|
let mut count = 0;
|
||||||
b.iter(|| {
|
b.iter(|| {
|
||||||
@@ -321,7 +316,7 @@ macro_rules! sqrt {
|
|||||||
v[count].sqrt()
|
v[count].sqrt()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
@@ -343,7 +338,7 @@ macro_rules! prime_field {
|
|||||||
}
|
}
|
||||||
(tmp1, tmp2)
|
(tmp1, tmp2)
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let mut count = 0;
|
let mut count = 0;
|
||||||
b.iter(|| {
|
b.iter(|| {
|
||||||
@@ -369,7 +364,7 @@ macro_rules! prime_field {
|
|||||||
}
|
}
|
||||||
(tmp1, tmp2)
|
(tmp1, tmp2)
|
||||||
})
|
})
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
let mut count = 0;
|
let mut count = 0;
|
||||||
b.iter(|| {
|
b.iter(|| {
|
||||||
@@ -456,5 +451,5 @@ macro_rules! prime_field {
|
|||||||
$f::from(v[count]);
|
$f::from(v[count]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,16 +14,19 @@ macro_rules! pairing_bench {
|
|||||||
.into_iter()
|
.into_iter()
|
||||||
.zip(g2s)
|
.zip(g2s)
|
||||||
.map(|(g1, g2)| (g1.into(), g2.into()))
|
.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;
|
let mut count = 0;
|
||||||
b.iter(|| {
|
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;
|
count = (count + 1) % SAMPLES;
|
||||||
tmp
|
tmp
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn final_exponentiation(b: &mut $crate::bencher::Bencher) {
|
fn final_exponentiation(b: &mut $crate::bencher::Bencher) {
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
@@ -47,7 +50,6 @@ macro_rules! pairing_bench {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
fn full_pairing(b: &mut $crate::bencher::Bencher) {
|
fn full_pairing(b: &mut $crate::bencher::Bencher) {
|
||||||
const SAMPLES: usize = 1000;
|
const SAMPLES: usize = 1000;
|
||||||
|
|
||||||
@@ -65,11 +67,6 @@ macro_rules! pairing_bench {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$crate::benchmark_group!(
|
$crate::benchmark_group!(pairing, miller_loop, final_exponentiation, full_pairing,);
|
||||||
pairing,
|
};
|
||||||
miller_loop,
|
|
||||||
final_exponentiation,
|
|
||||||
full_pairing,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user