Browse Source

Work

fq2_neg_nonresidue
Pratyush Mishra 4 years ago
parent
commit
ac0dcc7ae9
4 changed files with 31 additions and 5 deletions
  1. +1
    -1
      curve-benches/src/macros/ec.rs
  2. +3
    -3
      curve-benches/src/macros/field.rs
  3. +1
    -1
      curve-benches/src/macros/pairing.rs
  4. +26
    -0
      curve-benches/src/macros/utils.rs

+ 1
- 1
curve-benches/src/macros/ec.rs

@ -186,7 +186,7 @@ macro_rules! ec_bench {
}); });
} }
$crate::bencher::benchmark_group!(
$crate::benchmark_group!(
group_ops, group_ops,
rand, rand,
mul_assign, mul_assign,

+ 3
- 3
curve-benches/src/macros/field.rs

@ -8,7 +8,7 @@ macro_rules! f_bench {
field_common!($f, $f_type); field_common!($f, $f_type);
sqrt!($f, $f_type); sqrt!($f, $f_type);
prime_field!($f, $f_type, $f_repr, $f_repr_type); prime_field!($f, $f_type, $f_repr, $f_repr_type);
$crate::bencher::benchmark_group!(
$crate::benchmark_group!(
$modname, $modname,
// common stuff // common stuff
add_assign, add_assign,
@ -44,7 +44,7 @@ macro_rules! f_bench {
use super::*; use super::*;
field_common!($f, $f_type); field_common!($f, $f_type);
sqrt!($f, $f_type); sqrt!($f, $f_type);
$crate::bencher::benchmark_group!(
$crate::benchmark_group!(
$modname, $modname,
// common stuff // common stuff
add_assign, add_assign,
@ -71,7 +71,7 @@ macro_rules! f_bench {
mod [<_ $modname>] { mod [<_ $modname>] {
use super::*; use super::*;
field_common!($f, $f_type); field_common!($f, $f_type);
$crate::bencher::benchmark_group!(
$crate::benchmark_group!(
$modname, $modname,
// common stuff // common stuff
add_assign, add_assign,

+ 1
- 1
curve-benches/src/macros/pairing.rs

@ -65,7 +65,7 @@ macro_rules! pairing_bench {
}); });
} }
$crate::bencher::benchmark_group!(
$crate::benchmark_group!(
pairing, pairing,
miller_loop, miller_loop,
final_exponentiation, final_exponentiation,

+ 26
- 0
curve-benches/src/macros/utils.rs

@ -8,3 +8,29 @@ macro_rules! n_fold {
$tmp.$func(); $tmp.$func();
}; };
} }
/// Defines a function called `$group_name` that returns the test description
/// values for the listed functions `$function`.
#[macro_export]
macro_rules! benchmark_group {
($group_name:ident, $($function:path),+) => {
pub fn $group_name() -> ::std::vec::Vec<$crate::TestDescAndFn> {
use $crate::{TestDescAndFn, TestFn, TestDesc};
use std::borrow::Cow;
let mut benches = ::std::vec::Vec::new();
$(
benches.push(TestDescAndFn {
desc: TestDesc {
name: Cow::from(module_path!().to_string() + "::" + stringify!($function)),
ignore: false,
},
testfn: TestFn::StaticBenchFn($function),
});
)+
benches
}
};
($group_name:ident, $($function:path,)+) => {
benchmark_group!($group_name, $($function),+);
};
}

Loading…
Cancel
Save