12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- (function ($) {
- 'use strict';
- var saturated = {
- saturate: function (a) {
- if (a === Infinity) {
- return Number.MAX_VALUE;
- }
- if (a === -Infinity) {
- return -Number.MAX_VALUE;
- }
- return a;
- },
- delta: function(min, max, noTicks) {
- return ((max - min) / noTicks) === Infinity ? (max / noTicks - min / noTicks) : (max - min) / noTicks
- },
- multiply: function (a, b) {
- return saturated.saturate(a * b);
- },
- // returns c * bInt * a. Beahves properly in the case where c is negative
- // and bInt * a is bigger that Number.MAX_VALUE (Infinity)
- multiplyAdd: function (a, bInt, c) {
- if (isFinite(a * bInt)) {
- return saturated.saturate(a * bInt + c);
- } else {
- var result = c;
- for (var i = 0; i < bInt; i++) {
- result += a;
- }
- return saturated.saturate(result);
- }
- },
- // round to nearby lower multiple of base
- floorInBase: function(n, base) {
- return base * Math.floor(n / base);
- }
- };
- $.plot.saturated = saturated;
- })(jQuery);
|