Show
Ignore:
Timestamp:
09/19/07 21:49:36 (7 years ago)
Author:
itkz
Message:

change bit length in a Number from 8 bit to 31 bit

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/bloomfilter/bloomfilter.js

    r229 r230  
    1515                this.error_rate = 0.001; 
    1616                this.capacity = 100; 
     17                /* set up to 31 bits per a Number is used in filter table  */ 
     18                this.bit_length = 31; 
    1719 
    1820                for(var key in params) 
     
    7274                        for(var j=0;j<cells.length;j++) { 
    7375                                var cell = cells[j] 
    74                                 var offset_of_byte = Math.floor(cell / 8); 
     76                                var offset_of_byte = Math.floor(cell / this.bit_length); 
    7577                                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); 
    7779                        } 
    7880                        this.key_count++; 
     
    130132        }, 
    131133        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); 
    133137        }, 
    134138        _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)); 
    136141                var f = new Array(byte_length); 
    137142                for(var i=0;i<byte_length;i++) f[i] = 0x00; // false