react-planner-viewer
Version:
react-planner-viewer is a React Component for view plans builded with react-planner in 2D mode
37 lines (33 loc) • 3.5 kB
JavaScript
/** @description Return float fixed to desired precision, > 32 bit error
* @param {number} num Float to fix
* @param {number} precision Desired precision, or 6 if not specified
* @return {number}
*/
export function _toFixedFloat(num) {
var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;
if (num && precision) {
var prec = Math.pow(10, precision);
return ~~(num * prec) / prec;
}
return 0;
}
/** @description Return float fixed to desired precision
* @param {number} num Float to fix
* @param {number} precision Desired precision, or 6 if not specified
* @return {number}
*/
export function toFixedFloat(num) {
var precision = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;
if (num && precision) {
return parseFloat(parseFloat(num).toFixed(precision));
}
return 0;
}
/** @description Return absolute value of a number
* @param {number} n Number of wich get value without sign
* @return {number}
*/
export var fAbs = function fAbs(n) {
var x = n;x < 0 && (x = ~x + 1);return x;
};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9tYXRoLmpzIl0sIm5hbWVzIjpbIl90b0ZpeGVkRmxvYXQiLCJudW0iLCJwcmVjaXNpb24iLCJwcmVjIiwiTWF0aCIsInBvdyIsInRvRml4ZWRGbG9hdCIsInBhcnNlRmxvYXQiLCJ0b0ZpeGVkIiwiZkFicyIsIngiLCJuIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7QUFLQSxPQUFPLFNBQVNBLGFBQVQsQ0FBdUJDLEdBQXZCLEVBQTJDO0FBQUEsTUFBZkMsU0FBZSx1RUFBSCxDQUFHOztBQUNoRCxNQUFJRCxPQUFPQyxTQUFYLEVBQXNCO0FBQ3BCLFFBQUlDLE9BQVFDLEtBQUtDLEdBQUwsQ0FBUyxFQUFULEVBQVlILFNBQVosQ0FBWjtBQUNBLFdBQVMsQ0FBQyxFQUFFRCxNQUFNRSxJQUFSLENBQUQsR0FBaUJBLElBQTFCO0FBQ0Q7QUFDRCxTQUFPLENBQVA7QUFDRDs7QUFFRDs7Ozs7QUFLQSxPQUFPLFNBQVNHLFlBQVQsQ0FBc0JMLEdBQXRCLEVBQTBDO0FBQUEsTUFBZkMsU0FBZSx1RUFBSCxDQUFHOztBQUMvQyxNQUFJRCxPQUFPQyxTQUFYLEVBQXNCO0FBQ3BCLFdBQU9LLFdBQVlBLFdBQVlOLEdBQVosRUFBa0JPLE9BQWxCLENBQTJCTixTQUEzQixDQUFaLENBQVA7QUFDRDtBQUNELFNBQU8sQ0FBUDtBQUNEOztBQUVEOzs7O0FBSUEsT0FBTyxJQUFNTyxPQUFPLFNBQVBBLElBQU8sSUFBSztBQUFFLE1BQUlDLElBQUlDLENBQVIsQ0FBWUQsSUFBRSxDQUFILEtBQVVBLElBQUUsQ0FBQ0EsQ0FBRCxHQUFHLENBQWYsRUFBbUIsT0FBT0EsQ0FBUDtBQUFXLENBQTdEIiwiZmlsZSI6Im1hdGguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogQGRlc2NyaXB0aW9uIFJldHVybiBmbG9hdCBmaXhlZCB0byBkZXNpcmVkIHByZWNpc2lvbiwgPiAzMiBiaXQgZXJyb3JcbiAqICBAcGFyYW0ge251bWJlcn0gbnVtIEZsb2F0IHRvIGZpeFxuICogIEBwYXJhbSB7bnVtYmVyfSBwcmVjaXNpb24gRGVzaXJlZCBwcmVjaXNpb24sIG9yIDYgaWYgbm90IHNwZWNpZmllZFxuICogIEByZXR1cm4ge251bWJlcn1cbiovXG5leHBvcnQgZnVuY3Rpb24gX3RvRml4ZWRGbG9hdChudW0sIHByZWNpc2lvbiA9IDYpIHtcbiAgaWYgKG51bSAmJiBwcmVjaXNpb24pIHtcbiAgICBsZXQgcHJlYyA9IChNYXRoLnBvdygxMCxwcmVjaXNpb24pKTtcbiAgICByZXR1cm4gKCB+fihudW0gKiBwcmVjKSAvIHByZWMpO1xuICB9XG4gIHJldHVybiAwO1xufVxuXG4vKiogQGRlc2NyaXB0aW9uIFJldHVybiBmbG9hdCBmaXhlZCB0byBkZXNpcmVkIHByZWNpc2lvblxuICogIEBwYXJhbSB7bnVtYmVyfSBudW0gRmxvYXQgdG8gZml4XG4gKiAgQHBhcmFtIHtudW1iZXJ9IHByZWNpc2lvbiBEZXNpcmVkIHByZWNpc2lvbiwgb3IgNiBpZiBub3Qgc3BlY2lmaWVkXG4gKiAgQHJldHVybiB7bnVtYmVyfVxuKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0ZpeGVkRmxvYXQobnVtLCBwcmVjaXNpb24gPSA2KSB7XG4gIGlmIChudW0gJiYgcHJlY2lzaW9uKSB7XG4gICAgcmV0dXJuIHBhcnNlRmxvYXQoIHBhcnNlRmxvYXQoIG51bSApLnRvRml4ZWQoIHByZWNpc2lvbiApICk7XG4gIH1cbiAgcmV0dXJuIDA7XG59XG5cbi8qKiBAZGVzY3JpcHRpb24gUmV0dXJuIGFic29sdXRlIHZhbHVlIG9mIGEgbnVtYmVyXG4gKiAgQHBhcmFtIHtudW1iZXJ9IG4gTnVtYmVyIG9mIHdpY2ggZ2V0IHZhbHVlIHdpdGhvdXQgc2lnblxuICogIEByZXR1cm4ge251bWJlcn1cbiovXG5leHBvcnQgY29uc3QgZkFicyA9IG4gPT4geyBsZXQgeCA9IG47ICh4PDApICYmICh4PX54KzEpOyByZXR1cm4geDsgfTtcbiJdfQ==