map-number
Version:
processing/p5.js map like function, including floating point numbers support
43 lines (34 loc) • 1.3 kB
JavaScript
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = global || self, factory(global.mapNum = {}));
}(this, function (exports) { 'use strict';
function map(num, inMin, inMax, outMin, outMax) {
return (num - inMin) / (inMax - inMin) * (outMax - outMin) + outMin;
}
function floor(num, inMin, inMax, outMin, outMax) {
return Math.floor(map(num, inMin, inMax, outMin, outMax));
}
function round(num, inMin, inMax, outMin, outMax) {
return Math.round(map(num, inMin, inMax, outMin, outMax));
}
function min(num1, num2) {
return num1 < num2 ? num1 : num2;
}
function max(num1, num2) {
return num1 > num2 ? num1 : num2;
}
function limit(num, inMin, inMax, outMin, outMax) {
return max(min(outMin, outMax), min(max(outMin, outMax), map(num, inMin, inMax, outMin, outMax)));
}
function create(func, inMin, inMax, outMin, outMax) {
return function (num) { return func(num, inMin, inMax, outMin, outMax); };
}
exports.create = create;
exports.floor = floor;
exports.limit = limit;
exports.map = map;
exports.round = round;
exports.wrap = create;
}));
//# sourceMappingURL=map.umd.js.map