|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /lib/nodejs/cyclist/ |
Upload File : |
var twoify = function (n) {
if (n && !(n & (n - 1))) return n
var p = 1
while (p < n) p <<= 1
return p
}
var Cyclist = function (size) {
if (!(this instanceof Cyclist)) return new Cyclist(size)
size = twoify(size)
this.mask = size - 1
this.size = size
this.values = new Array(size)
}
Cyclist.prototype.put = function (index, val) {
var pos = index & this.mask
this.values[pos] = val
return pos
}
Cyclist.prototype.get = function (index) {
return this.values[index & this.mask]
}
Cyclist.prototype.del = function (index) {
var pos = index & this.mask
var val = this.values[pos]
this.values[pos] = undefined
return val
}
module.exports = Cyclist