Added shabangs
This commit is contained in:
parent
5e9a4330b4
commit
918d5a9b5e
|
@ -1,3 +1,4 @@
|
||||||
|
#!/usr/bin/node
|
||||||
var lib = require('./lib.js');
|
var lib = require('./lib.js');
|
||||||
|
|
||||||
function main(path) {
|
function main(path) {
|
||||||
|
@ -5,106 +6,25 @@ function main(path) {
|
||||||
var db = lib.loadFromFile(path);
|
var db = lib.loadFromFile(path);
|
||||||
var groups = lib.makeGroups(db);
|
var groups = lib.makeGroups(db);
|
||||||
|
|
||||||
|
// Erase groups that are not usable
|
||||||
|
groups = groups.filter(function(elt) {
|
||||||
|
|
||||||
|
// An elt is valid if it contains at least 2 exp, BaseRecommendation included
|
||||||
|
return elt.length > 1 && elt.find(function(e) { return e.recommendation_style[4] === 'B'; }) !== undefined;
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
groups.forEach(function(elt) {
|
||||||
|
elt.sort(lib.compareRecommendationStyle);
|
||||||
|
});
|
||||||
|
|
||||||
console.log(`There were ${db.users.length} users for ${db.experiments.length} experiments`);
|
console.log(`There were ${db.users.length} users for ${db.experiments.length} experiments`);
|
||||||
|
console.log(`There were ${groups.length} groups that were made.`);
|
||||||
var meanTimeNoReco = 0;
|
|
||||||
var meanTimeArrow = 0;
|
|
||||||
var meanTimeViewport = 0;
|
|
||||||
|
|
||||||
|
|
||||||
groups.forEach(function(elt) {
|
groups.forEach(function(elt) {
|
||||||
var ok = true;
|
console.log(elt.length);
|
||||||
|
|
||||||
// console.log(elt);
|
|
||||||
elt.sort(compareRecommendationStyle);
|
|
||||||
// console.log(elt);
|
|
||||||
|
|
||||||
elt.forEach(function(subElt) {
|
|
||||||
if (subElt.coin_combination_id !== elt[0].coin_combination_id) {
|
|
||||||
ok = false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
if (!ok) {
|
|
||||||
process.stderr.write('Error : assertion failed');
|
|
||||||
process.exit(-1);
|
|
||||||
}
|
|
||||||
|
|
||||||
console.log(elt.length + ' -> ' + elt[0].coin_combination_id);
|
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log('-----------------');
|
|
||||||
|
|
||||||
var value = minDifferences(groups);
|
|
||||||
console.log(value);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function minDifference(exps) {
|
|
||||||
|
|
||||||
var dict = {};
|
|
||||||
|
|
||||||
exps.forEach(function(subElt) {
|
|
||||||
dict[subElt.recommendation_style[4]] = subElt.duration;
|
|
||||||
});
|
|
||||||
|
|
||||||
if (dict.B !== undefined) {
|
|
||||||
|
|
||||||
if (dict.A !== undefined && dict.V !== undefined) {
|
|
||||||
return (
|
|
||||||
Math.min(dict.A - dict.B, dict.V - dict.B)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dict.A !== undefined) {
|
|
||||||
return dict.A - dict.B;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dict.V !== undefined) {
|
|
||||||
return dict.V - dict.B;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function minDifferences(groups) {
|
|
||||||
|
|
||||||
var differences = [];
|
|
||||||
|
|
||||||
groups.forEach(function(elt) {
|
|
||||||
|
|
||||||
var timesMean = 0;
|
|
||||||
|
|
||||||
elt.forEach(function(elt) {
|
|
||||||
var duration = experimentDuration(elt);
|
|
||||||
timesMean += experimentDuration(elt);
|
|
||||||
});
|
|
||||||
|
|
||||||
timesMean /= elt.length;
|
|
||||||
|
|
||||||
var normalizedElt = [];
|
|
||||||
|
|
||||||
elt.forEach(function(subElt) {
|
|
||||||
normalizedElt.push({
|
|
||||||
recommendation_style : subElt.recommendation_style,
|
|
||||||
duration : experimentDuration(subElt) / timesMean
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
var diff = minDifference(normalizedElt);
|
|
||||||
|
|
||||||
if (diff !== undefined)
|
|
||||||
differences.push(diff);
|
|
||||||
});
|
|
||||||
|
|
||||||
var sum = 0;
|
|
||||||
|
|
||||||
differences.forEach(function(elt) {
|
|
||||||
sum += elt;
|
|
||||||
});
|
|
||||||
|
|
||||||
return sum / differences.length;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (process.argv.length !== 3) {
|
if (process.argv.length !== 3) {
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#!/usr/bin/node
|
||||||
var pgc = require('../private.js');
|
var pgc = require('../private.js');
|
||||||
|
|
||||||
var url = pgc.url;
|
var url = pgc.url;
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#!/usr/bin/node
|
||||||
// Shows with and without : time to last coin = f(CoinCombination)
|
// Shows with and without : time to last coin = f(CoinCombination)
|
||||||
|
|
||||||
var lib = require('./lib.js');
|
var lib = require('./lib.js');
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#!/usr/bin/node
|
||||||
// Shows with and without : time to last coin = f(CoinCombination)
|
// Shows with and without : time to last coin = f(CoinCombination)
|
||||||
|
|
||||||
var lib = require('./lib.js');
|
var lib = require('./lib.js');
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#!/usr/bin/node
|
||||||
// Shows with and without : time to last coin = f(CoinCombination)
|
// Shows with and without : time to last coin = f(CoinCombination)
|
||||||
|
|
||||||
var lib = require('./lib.js');
|
var lib = require('./lib.js');
|
||||||
|
|
Loading…
Reference in New Issue