| Index: src/harmony-math.js
|
| diff --git a/src/harmony-math.js b/src/harmony-math.js
|
| index 7856917890b5f3f4c0369a8731c6892a8ef57346..d57a10404259eec07094930e61fd161fb58c6428 100644
|
| --- a/src/harmony-math.js
|
| +++ b/src/harmony-math.js
|
| @@ -59,7 +59,8 @@ function MathSinh(x) {
|
| // ES6 draft 09-27-13, section 20.2.2.12.
|
| function MathCosh(x) {
|
| if (!IS_NUMBER(x)) x = NonNumberToNumber(x);
|
| - if (!NUMBER_IS_FINITE(x)) return MathAbs(x);
|
| + // Idempotent for NaN and +/-Infinity.
|
| + if (!NUMBER_IS_FINITE(x)) return x;
|
| return (MathExp(x) + MathExp(-x)) / 2;
|
| }
|
|
|
| @@ -109,19 +110,19 @@ function MathAtanh(x) {
|
| }
|
|
|
|
|
| -// ES6 draft 09-27-13, section 20.2.2.21.
|
| +//ES6 draft 09-27-13, section 20.2.2.21.
|
| function MathLog10(x) {
|
| return MathLog(x) * 0.434294481903251828; // log10(x) = log(x)/log(10).
|
| }
|
|
|
|
|
| -// ES6 draft 09-27-13, section 20.2.2.22.
|
| +//ES6 draft 09-27-13, section 20.2.2.22.
|
| function MathLog2(x) {
|
| return MathLog(x) * 1.442695040888963407; // log2(x) = log(x)/log(2).
|
| }
|
|
|
|
|
| -// ES6 draft 09-27-13, section 20.2.2.17.
|
| +//ES6 draft 09-27-13, section 20.2.2.17.
|
| function MathHypot(x, y) { // Function length is 2.
|
| // We may want to introduce fast paths for two arguments and when
|
| // normalization to avoid overflow is not necessary. For now, we
|
| @@ -154,44 +155,6 @@ function MathHypot(x, y) { // Function length is 2.
|
| }
|
|
|
|
|
| -// ES6 draft 09-27-13, section 20.2.2.16.
|
| -function MathFround(x) {
|
| - return %Math_fround(TO_NUMBER_INLINE(x));
|
| -}
|
| -
|
| -
|
| -function MathClz32(x) {
|
| - x = ToUint32(TO_NUMBER_INLINE(x));
|
| - if (x == 0) return 32;
|
| - var result = 0;
|
| - // Binary search.
|
| - if ((x & 0xFFFF0000) === 0) { x <<= 16; result += 16; };
|
| - if ((x & 0xFF000000) === 0) { x <<= 8; result += 8; };
|
| - if ((x & 0xF0000000) === 0) { x <<= 4; result += 4; };
|
| - if ((x & 0xC0000000) === 0) { x <<= 2; result += 2; };
|
| - if ((x & 0x80000000) === 0) { x <<= 1; result += 1; };
|
| - return result;
|
| -}
|
| -
|
| -
|
| -//ES6 draft 09-27-13, section 20.2.2.9.
|
| -function MathCbrt(x) {
|
| - return %Math_cbrt(TO_NUMBER_INLINE(x));
|
| -}
|
| -
|
| -
|
| -//ES6 draft 09-27-13, section 20.2.2.14.
|
| -function MathExpm1(x) {
|
| - return %Math_expm1(TO_NUMBER_INLINE(x));
|
| -}
|
| -
|
| -
|
| -//ES6 draft 09-27-13, section 20.2.2.20.
|
| -function MathLog1p(x) {
|
| - return %Math_log1p(TO_NUMBER_INLINE(x));
|
| -}
|
| -
|
| -
|
| function ExtendMath() {
|
| %CheckIsBootstrapping();
|
|
|
| @@ -207,14 +170,8 @@ function ExtendMath() {
|
| "atanh", MathAtanh,
|
| "log10", MathLog10,
|
| "log2", MathLog2,
|
| - "hypot", MathHypot,
|
| - "fround", MathFround,
|
| - "clz32", MathClz32,
|
| - "cbrt", MathCbrt,
|
| - "log1p", MathLog1p,
|
| - "expm1", MathExpm1
|
| + "hypot", MathHypot
|
| ));
|
| }
|
|
|
| -
|
| ExtendMath();
|
|
|