Index: src/third_party/fdlibm/fdlibm.js |
diff --git a/src/third_party/fdlibm/fdlibm.js b/src/third_party/fdlibm/fdlibm.js |
index 3dcd8096c38d894d2508d7c952b6ca8488bac693..5717392bf319e5405f4002638118d7241ed1d3a6 100644 |
--- a/src/third_party/fdlibm/fdlibm.js |
+++ b/src/third_party/fdlibm/fdlibm.js |
@@ -36,15 +36,15 @@ var GlobalMath = global.Math; |
//------------------------------------------------------------------- |
-const INVPIO2 = kMath[0]; |
-const PIO2_1 = kMath[1]; |
-const PIO2_1T = kMath[2]; |
-const PIO2_2 = kMath[3]; |
-const PIO2_2T = kMath[4]; |
-const PIO2_3 = kMath[5]; |
-const PIO2_3T = kMath[6]; |
-const PIO4 = kMath[32]; |
-const PIO4LO = kMath[33]; |
+define INVPIO2 = kMath[0]; |
+define PIO2_1 = kMath[1]; |
+define PIO2_1T = kMath[2]; |
+define PIO2_2 = kMath[3]; |
+define PIO2_2T = kMath[4]; |
+define PIO2_3 = kMath[5]; |
+define PIO2_3T = kMath[6]; |
+define PIO4 = kMath[32]; |
+define PIO4LO = kMath[33]; |
// Compute k and r such that x - k*pi/2 = r where |r| < pi/4. For |
// precision, r is returned as two values y0 and y1 such that r = y0 + y1 |
@@ -149,12 +149,12 @@ endmacro |
// then 3 2 |
// sin(x) = X + (S1*X + (X *(r-Y/2)+Y)) |
// |
-const S1 = -1.66666666666666324348e-01; |
-const S2 = 8.33333333332248946124e-03; |
-const S3 = -1.98412698298579493134e-04; |
-const S4 = 2.75573137070700676789e-06; |
-const S5 = -2.50507602534068634195e-08; |
-const S6 = 1.58969099521155010221e-10; |
+define S1 = -1.66666666666666324348e-01; |
+define S2 = 8.33333333332248946124e-03; |
+define S3 = -1.98412698298579493134e-04; |
+define S4 = 2.75573137070700676789e-06; |
+define S5 = -2.50507602534068634195e-08; |
+define S6 = 1.58969099521155010221e-10; |
macro RETURN_KERNELSIN(X, Y, SIGN) |
var z = X * X; |
@@ -195,12 +195,12 @@ endmacro |
// magnitude of the latter is at least a quarter of X*X/2, |
// thus, reducing the rounding error in the subtraction. |
// |
-const C1 = 4.16666666666666019037e-02; |
-const C2 = -1.38888888888741095749e-03; |
-const C3 = 2.48015872894767294178e-05; |
-const C4 = -2.75573143513906633035e-07; |
-const C5 = 2.08757232129817482790e-09; |
-const C6 = -1.13596475577881948265e-11; |
+define C1 = 4.16666666666666019037e-02; |
+define C2 = -1.38888888888741095749e-03; |
+define C3 = 2.48015872894767294178e-05; |
+define C4 = -2.75573143513906633035e-07; |
+define C5 = 2.08757232129817482790e-09; |
+define C6 = -1.13596475577881948265e-11; |
macro RETURN_KERNELCOS(X, Y, SIGN) |
var ix = %_DoubleHi(X) & 0x7fffffff; |
@@ -440,14 +440,14 @@ function MathTan(x) { |
// |
// See HP-15C Advanced Functions Handbook, p.193. |
// |
-const LN2_HI = kMath[34]; |
-const LN2_LO = kMath[35]; |
-const TWO_THIRD = kMath[36]; |
+define LN2_HI = kMath[34]; |
+define LN2_LO = kMath[35]; |
+define TWO_THIRD = kMath[36]; |
macro KLOG1P(x) |
(kMath[37+x]) |
endmacro |
// 2^54 |
-const TWO54 = 18014398509481984; |
+define TWO54 = 18014398509481984; |
function MathLog1p(x) { |
x = x * 1; // Convert to number. |
@@ -626,8 +626,8 @@ function MathLog1p(x) { |
// For IEEE double |
// if x > 7.09782712893383973096e+02 then expm1(x) overflow |
// |
-const KEXPM1_OVERFLOW = kMath[44]; |
-const INVLN2 = kMath[45]; |
+define KEXPM1_OVERFLOW = kMath[44]; |
+define INVLN2 = kMath[45]; |
macro KEXPM1(x) |
(kMath[46+x]) |
endmacro |
@@ -749,9 +749,9 @@ function MathExpm1(x) { |
// sinh(x) is |x| if x is +Infinity, -Infinity, or NaN. |
// only sinh(0)=0 is exact for finite x. |
// |
-const KSINH_OVERFLOW = kMath[51]; |
-const TWO_M28 = 3.725290298461914e-9; // 2^-28, empty lower half |
-const LOG_MAXD = 709.7822265625; // 0x40862e42 00000000, empty lower half |
+define KSINH_OVERFLOW = kMath[51]; |
+define TWO_M28 = 3.725290298461914e-9; // 2^-28, empty lower half |
+define LOG_MAXD = 709.7822265625; // 0x40862e42 00000000, empty lower half |
function MathSinh(x) { |
x = x * 1; // Convert to number. |
@@ -801,7 +801,7 @@ function MathSinh(x) { |
// cosh(x) is |x| if x is +INF, -INF, or NaN. |
// only cosh(0)=1 is exact for finite x. |
// |
-const KCOSH_OVERFLOW = kMath[51]; |
+define KCOSH_OVERFLOW = kMath[51]; |
function MathCosh(x) { |
x = x * 1; // Convert to number. |
@@ -859,9 +859,9 @@ function MathCosh(x) { |
// log10(10**N) = N for N=0,1,...,22. |
// |
-const IVLN10 = kMath[52]; |
-const LOG10_2HI = kMath[53]; |
-const LOG10_2LO = kMath[54]; |
+define IVLN10 = kMath[52]; |
+define LOG10_2HI = kMath[53]; |
+define LOG10_2LO = kMath[54]; |
function MathLog10(x) { |
x = x * 1; // Convert to number. |
@@ -909,8 +909,8 @@ function MathLog10(x) { |
// log2(x) = w1 + w2 |
// where w1 has 53-24 = 29 bits of trailing zeroes. |
-const DP_H = kMath[64]; |
-const DP_L = kMath[65]; |
+define DP_H = kMath[64]; |
+define DP_L = kMath[65]; |
// Polynomial coefficients for (3/2)*(log2(x) - 2*s - 2/3*s^3) |
macro KLOG2(x) |
@@ -918,11 +918,11 @@ macro KLOG2(x) |
endmacro |
// cp = 2/(3*ln(2)). Note that cp_h + cp_l is cp, but with more accuracy. |
-const CP = kMath[61]; |
-const CP_H = kMath[62]; |
-const CP_L = kMath[63]; |
+define CP = kMath[61]; |
+define CP_H = kMath[62]; |
+define CP_L = kMath[63]; |
// 2^53 |
-const TWO53 = 9007199254740992; |
+define TWO53 = 9007199254740992; |
function MathLog2(x) { |
x = x * 1; // Convert to number. |