From a00f0e3525d1d9911a03d2105737791d8e0de45c Mon Sep 17 00:00:00 2001 From: Eirik Ogilvie-Wigley Date: Wed, 5 Sep 2018 14:47:11 -0600 Subject: [PATCH] Add benchmark for mul_assign --- benches/fq_bench.rs | 17 +++++++++++++++++ src/fq.rs | 4 ++++ 2 files changed, 21 insertions(+) create mode 100644 benches/fq_bench.rs diff --git a/benches/fq_bench.rs b/benches/fq_bench.rs new file mode 100644 index 0000000..0b47324 --- /dev/null +++ b/benches/fq_bench.rs @@ -0,0 +1,17 @@ +#![feature(test)] + +extern crate test; +extern crate jubjub; + +use std::ops::MulAssign; +use test::Bencher; +use jubjub::Fq; + +#[bench] +fn bench_mul_assign(bencher: &mut Bencher) { + let mut n = Fq::new([2, 2, 2, 2]); + let m = Fq::new([2, 2, 2, 2]); + bencher.iter(move || { + n.mul_assign(&m); + }); +} diff --git a/src/fq.rs b/src/fq.rs index bc68b9e..8cf905c 100644 --- a/src/fq.rs +++ b/src/fq.rs @@ -186,6 +186,10 @@ const R2: Fq = Fq([ ]); impl Fq { + pub fn new(limbs: [u64; 4]) -> Fq { + Fq(limbs) + } + pub fn zero() -> Fq { Fq([0, 0, 0, 0]) }