StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
697 B
33 lines
697 B
var ensureTwoPower = 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 = ensureTwoPower(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; |