extern crate rand;
extern crate test;
extern crate zeropool_bn;
extern crate seq_macro;
use *;
use seq;
const SAMPLES: usize = 30;
=>
);
/*
benchmark!(fr_addition,
input(rng) = (Fr::random(rng), Fr::random(rng));
input.0 + input.1
);
benchmark!(fr_subtraction,
input(rng) = (Fr::random(rng), Fr::random(rng));
input.0 - input.1
);
benchmark!(fr_multiplication,
input(rng) = (Fr::random(rng), Fr::random(rng));
input.0 * input.1
);
benchmark!(fr_inverses,
input(rng) = Fr::random(rng);
input.inverse()
);
benchmark!(g1_addition,
input(rng) = (G1::random(rng), G1::random(rng));
input.0 + input.1
);
benchmark!(g1_subtraction,
input(rng) = (G1::random(rng), G1::random(rng));
input.0 - input.1
);
benchmark!(g1_scalar_multiplication,
input(rng) = (G1::random(rng), Fr::random(rng));
input.0 * input.1
);
benchmark!(g2_addition,
input(rng) = (G2::random(rng), G2::random(rng));
input.0 + input.1
);
benchmark!(g2_subtraction,
input(rng) = (G2::random(rng), G2::random(rng));
input.0 - input.1
);
benchmark!(g2_scalar_multiplication,
input(rng) = (G2::random(rng), Fr::random(rng));
input.0 * input.1
);
benchmark!(fq12_scalar_multiplication,
input(rng) = {
let g1_1 = G1::random(rng);
let g2_1 = G2::random(rng);
let g1_2 = G1::random(rng);
let g2_2 = G2::random(rng);
(pairing(g1_1, g2_1), pairing(g1_2, g2_2))
};
input.0 * input.1
);
benchmark!(fq12_exponentiation,
input(rng) = ({
let g1 = G1::random(rng);
let g2 = G2::random(rng);
pairing(g1, g2)
}, Fr::random(rng));
input.0.pow(input.1)
);
benchmark!(perform_pairing,
input(rng) = (G1::random(rng), G2::random(rng));
pairing(input.0, input.1)
);
*/
benchmark!;
seq!;