More day 11 stuff

This commit is contained in:
Tim Stallard 2016-12-15 10:39:48 +00:00
parent e697150e0b
commit 485bb2f210

View File

@ -101,16 +101,25 @@ function nextSetOfScenarios(scenarios, callback){
return true;
};
scenarioSort = (scenario)=>{
scenario.floors.forEach((a)=>(a.sort()));
scenario.floors = scenario.floors.map((a)=>(a.sort()));
return scenario;
}
scenarioToJson = (scenario)=>(JSON.stringify(scenario));
scenarioFromJson = (scenario)=>(JSON.parse(scenario));
scenarioDuplicate = (scenario, i, scenarios)=>{
scenario[0] = (scenarios.findIndex((item)=>(item[1] == scenario[1])) == i);
return scenario;
scenarioToJson = (scenario)=>{
return scenario
};
scenarioFromJson = (scenario)=>(scenario);
scenarioDuplicate = (scenario, i, scenarios)=>{
//console.log(scenario[2].findIndex((item)=>(console.log("item", item))), i);
var scenarioStr = JSON.stringify(scenario);
return (scenarios.findIndex((item)=>(JSON.stringify(item) == scenarioStr)) == i);
};
scenarioPrevious = (scenario)=>{
//console.log(previous.indexOf(JSON.stringify(scenario)));
return (previous.indexOf(JSON.stringify(scenario)) == -1);
};
scenarioAddToPrevious = (scenario)=>{
previous.push(JSON.stringify(scenario));
}
console.log("start", scenarios.length);
@ -127,8 +136,23 @@ function nextSetOfScenarios(scenarios, callback){
console.log("valid", scenarios.length);
p.map(scenarios, scenarioSort, (err, scenarios)=>{
console.log("sorted", scenarios.length);
console.log("to JSON", scenarios.length);
scenarios = scenarios.map((scenario)=>(JSON.stringify(scenario)));
console.log("dedupe", scenarios.length);
scenarios = _.uniq(scenarios, (scenario)=>(JSON.stringify(scenario)));
console.log("removing previous", scenarios.length);
scenarios = _.difference(scenarios, previous);
console.log("adding to previous", scenarios.length);
scenarios.forEach((scenario)=>(previous.push(scenario)));
console.log("from JSON", scenarios.length);
scenarios = scenarios.map((scenario)=>(JSON.parse(scenario)));
callback(scenarios);
/*
p.map(scenarios, scenarioToJson, (err, scenarios)=>{
console.log("inJSON", scenarios.length);
//console.log(scenarios[0]);
scenarios = scenarios.map((scenario)=>([false, scenario]));
p.map(scenarios, scenarioDuplicate, (err, scenarios)=>{
scenarios = scenarios.filter((scenario)=>(scenario[0]));
@ -140,6 +164,7 @@ function nextSetOfScenarios(scenarios, callback){
});
});
});
*/
});
});
});
@ -157,7 +182,7 @@ function nextSetOfScenarios(scenarios, callback){
/*
for(var scenario of scenarios){
newScenarios = newScenarios.concat(possibleScenarios(scenario));
scenarios = newScenarios.concat(possibleScenarios(scenario));
}
console.log("removing invalid");
@ -201,6 +226,7 @@ var i = 0;
var callback = (scenarios)=>{
i++;
console.log(i, scenarios.length);
if(i < 10){
nextSetOfScenarios(scenarios, callback);
}