#![feature(test)] extern crate test; use rug::{Float, Integer}; use svp::*; use test::Bencher; #[bench] fn dim20(p: &mut Bencher) { let mut b = vec![ nvec![ Integer::from(7), Integer::from(6), Integer::from(-3), Integer::from(1), Integer::new(), Integer::from(-1), Integer::from(-2), Integer::from(-1), Integer::new(), Integer::from(4), Integer::from(-1), Integer::new(), Integer::from(1), Integer::new(), Integer::from(-1), Integer::from(-1), Integer::new(), Integer::from(1), Integer::from(-1), Integer::from(1) ], nvec![ Integer::from(2), Integer::from(10), Integer::from(5), Integer::from(-1), Integer::from(2), Integer::from(2), Integer::from(1), Integer::from(-5), Integer::from(-4), Integer::from(-3), Integer::from(2), Integer::from(1), Integer::from(1), Integer::from(-1), Integer::from(-1), Integer::from(1), Integer::from(1), Integer::from(-2), Integer::from(1), Integer::from(-3) ], nvec![ Integer::from(-1), Integer::from(-2), Integer::from(5), Integer::from(1), Integer::from(-2), Integer::from(1), Integer::from(-3), Integer::from(3), Integer::from(1), Integer::from(12), Integer::from(-1), Integer::from(-7), Integer::from(-1), Integer::from(2), Integer::from(-1), Integer::from(1), Integer::from(1), Integer::new(), Integer::new(), Integer::from(3) ], nvec![ Integer::new(), Integer::from(1), Integer::from(-1), Integer::from(1), Integer::from(5), Integer::from(-1), Integer::new(), Integer::from(1), Integer::new(), Integer::from(1), Integer::from(-1), Integer::from(-1), Integer::from(-5), Integer::from(5), Integer::new(), Integer::from(-1), Integer::from(17), Integer::from(-1), Integer::from(-1), Integer::from(1) ], nvec![ Integer::from(6), Integer::from(-2), Integer::from(10), Integer::from(-2), Integer::from(-2), Integer::from(-13), Integer::from(-1), Integer::from(2), Integer::from(-10), Integer::from(-5), Integer::from(-3), Integer::from(6), Integer::from(7), Integer::from(-1), Integer::from(1), Integer::from(-5), Integer::from(-1), Integer::from(4), Integer::from(-2), Integer::from(2) ], nvec![ Integer::from(-6), Integer::from(2), Integer::from(11), Integer::from(-2), Integer::from(-2), Integer::from(9), Integer::from(1), Integer::from(-2), Integer::from(-2), Integer::from(5), Integer::from(7), Integer::from(12), Integer::new(), Integer::from(3), Integer::from(-2), Integer::new(), Integer::from(2), Integer::from(17), Integer::from(3), Integer::from(-1) ], nvec![ Integer::from(13), Integer::from(-20), Integer::from(8), Integer::new(), Integer::from(-3), Integer::from(5), Integer::from(-1), Integer::from(-8), Integer::from(-8), Integer::from(-1), Integer::from(2), Integer::from(3), Integer::from(-2), Integer::from(-3), Integer::from(-2), Integer::new(), Integer::from(1), Integer::from(-1), Integer::from(1), Integer::from(-4) ], nvec![ Integer::from(-7), Integer::from(-12), Integer::from(-4), Integer::from(2), Integer::from(-3), Integer::from(1), Integer::from(-3), Integer::from(-18), Integer::from(7), Integer::from(2), Integer::from(-1), Integer::from(2), Integer::from(11), Integer::from(-7), Integer::new(), Integer::new(), Integer::from(6), Integer::new(), Integer::new(), Integer::from(2) ], nvec![ Integer::from(1), Integer::from(-1), Integer::from(2), Integer::from(-1), Integer::from(1), Integer::from(-1), Integer::new(), Integer::from(-2), Integer::from(-4), Integer::from(-1), Integer::from(1), Integer::from(4), Integer::from(-1), Integer::from(-2), Integer::from(21), Integer::from(16), Integer::from(-1), Integer::from(-1), Integer::from(-8), Integer::new() ], nvec![ Integer::from(5), Integer::from(-1), Integer::from(5), Integer::from(-3), Integer::from(-1), Integer::from(-13), Integer::from(8), Integer::from(2), Integer::from(20), Integer::from(-1), Integer::from(-4), Integer::from(5), Integer::from(10), Integer::from(-2), Integer::from(-1), Integer::from(5), Integer::new(), Integer::from(7), Integer::from(19), Integer::from(9) ], nvec![ Integer::from(17), Integer::from(3), Integer::from(16), Integer::from(-3), Integer::from(2), Integer::from(5), Integer::new(), Integer::from(4), Integer::from(25), Integer::from(-5), Integer::from(6), Integer::from(1), Integer::from(-10), Integer::from(3), Integer::from(-2), Integer::from(-11), Integer::from(-2), Integer::from(-3), Integer::from(1), Integer::from(-6) ], nvec![ Integer::from(-5), Integer::from(-5), Integer::from(6), Integer::from(2), Integer::from(-4), Integer::from(-14), Integer::from(-8), Integer::from(-24), Integer::from(4), Integer::from(9), Integer::from(4), Integer::from(-2), Integer::from(-18), Integer::from(-11), Integer::from(1), Integer::from(8), Integer::from(-8), Integer::from(-1), Integer::from(-6), Integer::from(-1) ], nvec![ Integer::new(), Integer::from(2), Integer::from(4), Integer::from(5), Integer::from(-15), Integer::from(-10), Integer::from(-11), Integer::from(6), Integer::from(16), Integer::from(-15), Integer::from(5), Integer::from(-8), Integer::from(-9), Integer::from(-12), Integer::from(-3), Integer::from(-7), Integer::from(9), Integer::from(2), Integer::from(12), Integer::from(-11) ], nvec![ Integer::from(-8), Integer::from(4), Integer::from(5), Integer::from(26), Integer::from(-7), Integer::from(3), Integer::from(17), Integer::from(4), Integer::from(-17), Integer::from(10), Integer::from(-18), Integer::from(11), Integer::from(6), Integer::from(-6), Integer::from(9), Integer::from(-8), Integer::from(11), Integer::from(-11), Integer::from(-4), Integer::from(2) ], nvec![ Integer::from(-4), Integer::from(7), Integer::from(10), Integer::from(-7), Integer::from(2), Integer::from(-5), Integer::from(-12), Integer::from(-6), Integer::from(5), Integer::from(-5), Integer::from(12), Integer::from(-7), Integer::from(-3), Integer::from(2), Integer::from(21), Integer::from(-7), Integer::from(-1), Integer::from(14), Integer::from(17), Integer::from(32) ], nvec![ Integer::from(6), Integer::from(-6), Integer::from(-9), Integer::from(-15), Integer::from(16), Integer::from(27), Integer::from(-9), Integer::from(10), Integer::from(1), Integer::from(-14), Integer::from(-3), Integer::from(-7), Integer::new(), Integer::from(-32), Integer::from(-11), Integer::from(-6), Integer::from(14), Integer::from(4), Integer::from(-4), Integer::from(28) ], nvec![ Integer::from(-8), Integer::from(-5), Integer::from(-4), Integer::from(9), Integer::from(-23), Integer::from(-2), Integer::from(-10), Integer::from(-1), Integer::from(8), Integer::from(-7), Integer::from(14), Integer::from(19), Integer::from(8), Integer::from(30), Integer::from(-23), Integer::from(4), Integer::from(2), Integer::from(-14), Integer::from(-6), Integer::from(8) ], nvec![ Integer::from(-3), Integer::from(10), Integer::from(-5), Integer::from(-41), Integer::from(-26), Integer::from(8), Integer::from(2), Integer::from(10), Integer::from(15), Integer::from(9), Integer::from(-13), Integer::from(-4), Integer::from(-3), Integer::from(-20), Integer::from(3), Integer::from(-11), Integer::from(4), Integer::from(-9), Integer::from(9), Integer::new() ], nvec![ Integer::from(-10), Integer::from(2), Integer::from(-1), Integer::from(-13), Integer::from(12), Integer::from(-1), Integer::from(5), Integer::from(18), Integer::from(1), Integer::from(27), Integer::from(28), Integer::from(23), Integer::from(2), Integer::from(-17), Integer::from(20), Integer::from(-19), Integer::from(-2), Integer::from(-47), Integer::from(5), Integer::from(5) ], nvec![ Integer::new(), Integer::from(3), Integer::from(4), Integer::from(4), Integer::from(11), Integer::from(5), Integer::from(-45), Integer::from(-22), Integer::from(9), Integer::from(-20), Integer::from(-29), Integer::from(7), Integer::from(1), Integer::from(32), Integer::from(10), Integer::from(14), Integer::from(-15), Integer::from(-10), Integer::from(28), Integer::from(8) ], ]; for i in 0..b.len() { b[i].norm = Some(&b[i] * &b[i]); } let l = Lattice { basis: b.clone() }; let t = Float::with_val(56, b.len()).ln(); let mut gs = gsieve![l, t]; p.iter(|| gs.sieve()) }