From 66cd9f577a3e43502c5e1e5c2c5295a53aae4cbd Mon Sep 17 00:00:00 2001 From: Jason Davies Date: Wed, 7 Dec 2011 21:56:28 +0000 Subject: [PATCH] Fix a serious bug with bucket indexing. --- bloomfilter.js | 9 +++++---- package.json | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/bloomfilter.js b/bloomfilter.js index d3118e8..b6272b6 100644 --- a/bloomfilter.js +++ b/bloomfilter.js @@ -44,20 +44,21 @@ var l = this.locations(v), i = -1, k = this.k, + m = this.m, buckets = this.buckets; - while (++i < k) buckets[Math.floor(l[i] / k)] |= 1 << (l[i] % k) + while (++i < k) buckets[Math.floor(l[i] / m)] |= 1 << (l[i] % m); }; BloomFilter.prototype.test = function(v) { var l = this.locations(v), - n = l.length, i = -1, k = this.k, + m = this.m, b, buckets = this.buckets; - while (++i < n) { + while (++i < k) { b = l[i]; - if ((buckets[Math.floor(b / k)] & (1 << (b % k))) === 0) { + if ((buckets[Math.floor(b / m)] & (1 << (b % m))) === 0) { return false; } } diff --git a/package.json b/package.json index f9c0f8b..4035cff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bloomfilter", - "version": "0.0.5", + "version": "0.0.6", "description": "Fast bloom filter in JavaScript.", "keywords": [ "bloom filter",