From ec638e4d023c78582957b83b36a6192b452d53ce Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Fri, 4 Sep 2020 13:29:37 +0100 Subject: [PATCH] Replace bit-vec crate with bitvec --- Cargo.toml | 1 - src/multiexp.rs | 16 +++++----------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 82132d9..627fc65 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,6 @@ version = "0.7.0" edition = "2018" [dependencies] -bit-vec = "0.6" bitvec = "0.18" blake2s_simd = "0.5" ff = "0.8" diff --git a/src/multiexp.rs b/src/multiexp.rs index fd138e5..3c3bd3e 100644 --- a/src/multiexp.rs +++ b/src/multiexp.rs @@ -1,6 +1,5 @@ use super::multicore::Worker; -use bit_vec::{self, BitVec}; -use bitvec::{array::BitArray, order::Lsb0}; +use bitvec::{array::BitArray, order::Lsb0, vec::BitVec}; use ff::PrimeField; use futures::Future; use group::prime::{PrimeCurve, PrimeCurveAffine}; @@ -112,14 +111,13 @@ impl<'a> QueryDensity for &'a FullDensity { pub struct DensityTracker { bv: BitVec, - total_density: usize, } impl<'a> QueryDensity for &'a DensityTracker { - type Iter = bit_vec::Iter<'a>; + type Iter = std::iter::Cloned>; fn iter(self) -> Self::Iter { - self.bv.iter() + self.bv.iter().cloned() } fn get_query_size(self) -> Option { @@ -129,10 +127,7 @@ impl<'a> QueryDensity for &'a DensityTracker { impl DensityTracker { pub fn new() -> DensityTracker { - DensityTracker { - bv: BitVec::new(), - total_density: 0, - } + DensityTracker { bv: BitVec::new() } } pub fn add_element(&mut self) { @@ -142,12 +137,11 @@ impl DensityTracker { pub fn inc(&mut self, idx: usize) { if !self.bv.get(idx).unwrap() { self.bv.set(idx, true); - self.total_density += 1; } } pub fn get_total_density(&self) -> usize { - self.total_density + self.bv.count_ones() } }