Sync _.isFinite changes with Underscore and update vendor/underscore and vendor/backbone.

Former-commit-id: 9acb93a276a11da8186da76bd82f1fd6f89c27dd
This commit is contained in:
John-David Dalton
2012-10-20 13:02:14 -07:00
parent 8c4e882fa3
commit 400b6fbb61
11 changed files with 163 additions and 80 deletions

View File

@@ -320,6 +320,7 @@
/** Math shortcuts */
var abs = Math.abs,
floor = Math.floor,
log = Math.log,
max = Math.max,
min = Math.min,
pow = Math.pow,
@@ -945,6 +946,20 @@
(/^[\s(]*function[^(]*\(([^\s,)]+)/.exec(fn) || 0)[1]) || '';
}
/**
* Computes the geometric mean (log-average) of a sample.
* See http://en.wikipedia.org/wiki/Geometric_mean#Relationship_with_arithmetic_mean_of_logarithms.
*
* @private
* @param {Array} sample The sample.
* @returns {Number} The geometric mean.
*/
function getGeometricMean(sample) {
return pow(Math.E, reduce(sample, function(sum, x) {
return sum + log(x);
}) / sample.length) || 0;
}
/**
* Computes the arithmetic mean of a sample.
*
@@ -953,9 +968,9 @@
* @returns {Number} The mean.
*/
function getMean(sample) {
return reduce(sample, function(sum, x) {
return (reduce(sample, function(sum, x) {
return sum + x;
}) / sample.length || 0;
}) / sample.length) || 0;
}
/**
@@ -2076,6 +2091,10 @@
event.aborted = me.aborted;
},
'onComplete': function(event) {
me.score = getGeometricMean(map(me, function(bench) {
return bench.reference / (bench.times.period * 1e6);
})) || 0;
me.running = false;
me.emit(event);
}
@@ -3169,7 +3188,15 @@
* @memberOf Benchmark.options
* @type Function
*/
'onStart': undefined
'onStart': undefined,
/**
* The reference time taken to execute the test once (usecs).
*
* @memberOf Benchmark.options
* @type Number
*/
'reference': 0
},
/**
@@ -3726,6 +3753,14 @@
*/
'length': 0,
/**
* A score computed using the normalized result of each benchmark in the suite.
*
* @memberOf Benchmark.Suite
* @type Number
*/
'score': 0,
/**
* A flag to indicate if the suite is aborted.
*