@@ -55,21 +55,21 @@ function exponentialSearch(array, key) {
55
55
return - 1 ;
56
56
}
57
57
58
- function interpolationSearch ( arrayToSearch , valueToSearch ) {
58
+ function interpolationSearch ( arrayToSearch , valueToSearch ) {
59
59
var length = arrayToSearch . length ;
60
60
var low = 0 ;
61
- var high = length - 1 ;
61
+ var high = length - 1 ;
62
62
var position = - 1 ;
63
63
var delta = - 1 ;
64
- while ( low <= high
64
+ while ( low <= high
65
65
&& valueToSearch >= arrayToSearch [ low ]
66
- && valueToSearch <= arrayToSearch [ high ] ) {
67
- delta = ( valueToSearch - arrayToSearch [ low ] ) / ( arrayToSearch [ high ] - arrayToSearch [ low ] ) ;
68
- position = low + Math . floor ( ( high - low ) * delta ) ;
69
- if ( arrayToSearch [ position ] == valueToSearch ) {
66
+ && valueToSearch <= arrayToSearch [ high ] ) {
67
+ delta = ( valueToSearch - arrayToSearch [ low ] ) / ( arrayToSearch [ high ] - arrayToSearch [ low ] ) ;
68
+ position = low + Math . floor ( ( high - low ) * delta ) ;
69
+ if ( arrayToSearch [ position ] == valueToSearch ) {
70
70
return position ;
71
71
}
72
- if ( arrayToSearch [ position ] < valueToSearch ) {
72
+ if ( arrayToSearch [ position ] < valueToSearch ) {
73
73
low = position + 1 ;
74
74
} else {
75
75
high = position - 1 ;
@@ -104,7 +104,7 @@ function optimized(array, value, lo, hi) {
104
104
}
105
105
106
106
return - 1 ;
107
- } ;
107
+ }
108
108
109
109
function better ( array , key ) {
110
110
var mid = - 1 ;
@@ -123,7 +123,7 @@ function better(array, key) {
123
123
else if ( key > current )
124
124
lo = mid + 1 ;
125
125
else
126
- return mid
126
+ return mid ;
127
127
}
128
128
129
129
return - 1 ;
@@ -145,7 +145,7 @@ function PerfectMap(strings) {
145
145
PerfectMap . prototype . set = function ( key , value ) {
146
146
var index = binarySearch ( this . hashes , fnv32a ( key ) ) ;
147
147
this . values [ index ] = value ;
148
- }
148
+ } ;
149
149
150
150
PerfectMap . prototype . get = function ( key , value ) {
151
151
var index = binarySearch ( this . hashes , fnv32a ( key ) ) ;
@@ -159,7 +159,7 @@ var map = new Map();
159
159
var sorted = words . slice ( ) . sort ( ) ;
160
160
161
161
perfect . set ( 'hello' , 36 ) ;
162
- console . log ( perfect . get ( 'hello' ) )
162
+ console . log ( perfect . get ( 'hello' ) ) ;
163
163
164
164
console . time ( 'Perfect set' ) ;
165
165
for ( var i = 0 ; i < words . length ; i ++ )
@@ -217,9 +217,9 @@ function hash(str) {
217
217
'use asm' ;
218
218
219
219
var h = 5381 ,
220
- i = str . length ;
220
+ i = str . length ;
221
221
222
- while ( i ) {
222
+ while ( i ) {
223
223
h *= 33 ;
224
224
h ^= str . charCodeAt ( -- i ) ;
225
225
}
@@ -298,7 +298,7 @@ console.timeEnd('Get');
298
298
299
299
console . time ( 'GetObject' ) ;
300
300
for ( var w = 0 , y = words . length ; w < y ; w ++ )
301
- v = ob [ words [ w ] ]
301
+ v = ob [ words [ w ] ] ;
302
302
console . timeEnd ( 'GetObject' ) ;
303
303
304
304
console . time ( 'GetMap' ) ;
@@ -313,7 +313,7 @@ console.timeEnd('GetMap');
313
313
314
314
console . time ( 'MissesObject' ) ;
315
315
for ( var w = 0 , y = words . length ; w < y ; w ++ )
316
- v = ob [ randomString ( 4 , 10 ) ]
316
+ v = ob [ randomString ( 4 , 10 ) ] ;
317
317
console . timeEnd ( 'MissesObject' ) ;
318
318
319
319
console . time ( 'MissesMap' ) ;
0 commit comments