Sha256: 8c93150db0ca8da78b91721efd84ddc90e73bf8df1b6e643d04df58913ee8090
Contents?: true
Size: 716 Bytes
Versions: 82
Compression:
Stored size: 716 Bytes
Contents
// 20.2.2.16 Math.fround(x) var sign = require('./_math-sign'); var pow = Math.pow; var EPSILON = pow(2, -52); var EPSILON32 = pow(2, -23); var MAX32 = pow(2, 127) * (2 - EPSILON32); var MIN32 = pow(2, -126); var roundTiesToEven = function (n) { return n + 1 / EPSILON - 1 / EPSILON; }; module.exports = Math.fround || function fround(x) { var $abs = Math.abs(x); var $sign = sign(x); var a, result; if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; a = (1 + EPSILON32 / EPSILON) * $abs; result = a - (a - $abs); // eslint-disable-next-line no-self-compare if (result > MAX32 || result != result) return $sign * Infinity; return $sign * result; };
Version data entries
82 entries across 38 versions & 8 rubygems