nitlanguage
/
nit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lib/glesv2: intro glGetProgramiv and glGetShaderiv, and clean related services
[nit.git]
/
lib
/
perfect_hashing.nit
diff --git
a/lib/perfect_hashing.nit
b/lib/perfect_hashing.nit
index
38808cb
..
d8ab3cb
100644
(file)
--- a/
lib/perfect_hashing.nit
+++ b/
lib/perfect_hashing.nit
@@
-52,11
+52,11
@@
class Perfecthashing
var orMask = 0
var andMask = 0
for i in ids do
var orMask = 0
var andMask = 0
for i in ids do
- orMask = orMask.bin_or(i)
- andMask = andMask.bin_and(i)
+ orMask |= i
+ andMask &= i
end
end
- mask = orMask.bin_xor(andMask)
+ mask = orMask ^ andMask
# Re-initialize the hashtable with null values
for i in [0..(mask+1)] do tempht[i] = null
# Re-initialize the hashtable with null values
for i in [0..(mask+1)] do tempht[i] = null
@@
-66,7
+66,7
@@
class Perfecthashing
var i = mask.highest_bit
while i != 0 do
if mask.getbit(i) == 1 then
var i = mask.highest_bit
while i != 0 do
if mask.getbit(i) == 1 then
- newmask = mask.bin_xor(1 << i)
+ newmask = mask ^ (1 << i)
# If there is no collision, replace the old mask
if phandp(ids, newmask) then
# If there is no collision, replace the old mask
if phandp(ids, newmask) then
@@
-85,7
+85,7
@@
class Perfecthashing
fun phandp(ids: Array[Int], mask: Int): Bool
do
for i in ids do
fun phandp(ids: Array[Int], mask: Int): Bool
do
for i in ids do
- var hv = i.bin_and(mask)
+ var hv = i & mask
if tempht[hv] == mask then
return false
else
if tempht[hv] == mask then
return false
else
@@
-156,7
+156,7
@@
class Perfecthashing
var i = inter.item.first.as(not null)
while i != inter.item.second and not found do
# Tests if this id is free for this mask
var i = inter.item.first.as(not null)
while i != inter.item.second and not found do
# Tests if this id is free for this mask
- var hv = i.bin_and(mask)
+ var hv = i & mask
# If the hashtable if full, push an empty item
if hv >= tempht.length then
# If the hashtable if full, push an empty item
if hv >= tempht.length then