Changeset 230 for lang/javascript/bloomfilter
- Timestamp:
- 09/19/07 21:49:36 (6 years ago)
- Files:
-
- 1 modified
-
lang/javascript/bloomfilter/bloomfilter.js (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lang/javascript/bloomfilter/bloomfilter.js
r229 r230 15 15 this.error_rate = 0.001; 16 16 this.capacity = 100; 17 /* set up to 31 bits per a Number is used in filter table */ 18 this.bit_length = 31; 17 19 18 20 for(var key in params) … … 72 74 for(var j=0;j<cells.length;j++) { 73 75 var cell = cells[j] 74 var offset_of_byte = Math.floor(cell / 8);76 var offset_of_byte = Math.floor(cell / this.bit_length); 75 77 this.filter[offset_of_byte] = 76 this.filter[offset_of_byte] | (1 << cell % 8);78 this.filter[offset_of_byte] | (1 << cell % this.bit_length); 77 79 } 78 80 this.key_count++; … … 130 132 }, 131 133 is_bit_on: function(offset){ 132 return this.filter[Math.floor(offset / 8)] & (1 << offset % 8); 134 return 135 this.filter[Math.floor(offset / this.bit_length)] & 136 (1 << offset % this.bit_length); 133 137 }, 134 138 _make_empty_filter: function(size){ 135 var byte_length = Math.floor(size / 8 + (size % 8 ? 1 : 0)); 139 var byte_length = 140 Math.floor(size / this.bit_length + (size % this.bit_length ? 1 : 0)); 136 141 var f = new Array(byte_length); 137 142 for(var i=0;i<byte_length;i++) f[i] = 0x00; // false
![(please configure the [header_logo] section in trac.ini)](/share/chrome/site/your_project_logo.png)