Sha256: 66f8fc5caa79a322e9d4d9713c6442065598fb00faf30016253c646d2bb6332b
Contents?: true
Size: 1.57 KB
Versions: 19
Compression:
Stored size: 1.57 KB
Contents
(function() { this.expectRounded = function(val, precision) { var factor, v; if (precision == null) { precision = 4; } factor = Math.pow(10, precision); v = val > 0 ? Math.round(val * factor) / factor : -Math.round(-val * factor) / factor; if (v === -0) { v = 0; } if (v !== v) { v = 0/0; } return expect(v); }; this.roundArray = function(array, precision, predicate) { var i, j, len, results, val; if (precision == null) { precision = 4; } results = []; for (i = j = 0, len = array.length; j < len; i = ++j) { val = array[i]; if (_.isArray(val)) { results.push(this.roundArray(val, precision, predicate)); } else { results.push(this.round(val, precision, predicate, i)); } } return results; }; this.round = function(val, precision, predicate, index) { var _int, factor, round, v; if (precision == null) { precision = 4; } round = true; if (_.isNumber(predicate)) { v = round = (index + 1) % predicate === 0; } else if (_.isFunction(predicate)) { v = round = predicate(val, index); } if (round) { factor = Math.pow(10, precision); _int = val * factor; if (val > 0) { v = Math.round(_int) / factor; } else { v = -Math.round(-_int) / factor; } } else { v = val; } if (v === -0) { return 0; } else { return v; } }; this.expectRoundedArray = function() { return expect(roundArray.apply(this, arguments)); }; }).call(this);
Version data entries
19 entries across 19 versions & 1 rubygems