You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.3 KiB
43 lines
1.3 KiB
(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);
|
|
|