UNPKG

react-router-ga

Version:

[![Downloads](https://img.shields.io/npm/dm/react-router-ga)](https://npm.im/react-router-ga) [![Version](https://img.shields.io/npm/v/react-router-ga)](https://npm.im/react-router-ga) [![License](https://img.shields.io/npm/l/react-router-ga)](https://ope

34 lines (28 loc) 683 B
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