in MotionMark/resources/runner/motionmark.js [45:92]
_processData: function()
{
this._results = {};
this._results[Strings.json.results.iterations] = [];
var iterationsScores = [];
this._iterationsSamplers.forEach(function(iteration, index) {
var testsScores = [];
var testsLowerBoundScores = [];
var testsUpperBoundScores = [];
var result = {};
this._results[Strings.json.results.iterations][index] = result;
var suitesResult = {};
result[Strings.json.results.tests] = suitesResult;
for (var suiteName in iteration) {
var suiteData = iteration[suiteName];
var suiteResult = {};
suitesResult[suiteName] = suiteResult;
for (var testName in suiteData) {
if (!suiteData[testName][Strings.json.result])
this.calculateScore(suiteData[testName]);
suiteResult[testName] = suiteData[testName][Strings.json.result];
delete suiteData[testName][Strings.json.result];
testsScores.push(suiteResult[testName][Strings.json.score]);
testsLowerBoundScores.push(suiteResult[testName][Strings.json.scoreLowerBound]);
testsUpperBoundScores.push(suiteResult[testName][Strings.json.scoreUpperBound]);
}
}
result[Strings.json.score] = Statistics.geometricMean(testsScores);
result[Strings.json.scoreLowerBound] = Statistics.geometricMean(testsLowerBoundScores);
result[Strings.json.scoreUpperBound] = Statistics.geometricMean(testsUpperBoundScores);
iterationsScores.push(result[Strings.json.score]);
}, this);
this._results[Strings.json.version] = this._version;
this._results[Strings.json.fps] = this._targetFrameRate;
this._results[Strings.json.score] = Statistics.sampleMean(iterationsScores.length, iterationsScores.reduce(function(a, b) { return a + b; }));
this._results[Strings.json.scoreLowerBound] = this._results[Strings.json.results.iterations][0][Strings.json.scoreLowerBound];
this._results[Strings.json.scoreUpperBound] = this._results[Strings.json.results.iterations][0][Strings.json.scoreUpperBound];
},