Slightly simplify Math.sign and Math.trunc.
authoryangguo@chromium.org <yangguo@chromium.org>
Wed, 27 Aug 2014 09:49:38 +0000 (09:49 +0000)
committeryangguo@chromium.org <yangguo@chromium.org>
Wed, 27 Aug 2014 09:49:38 +0000 (09:49 +0000)
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/504343005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/math.js

index 00a507a28e5514d0ebdfcb81acc194821e443a98..7ead7a861efe20c82dcb70c736ee1ee82305bc21 100644 (file)
@@ -173,8 +173,8 @@ function MathSign(x) {
   x = TO_NUMBER_INLINE(x);
   if (x > 0) return 1;
   if (x < 0) return -1;
-  if (x === 0) return x;
-  return NAN;
+  // -0, 0 or NaN.
+  return x;
 }
 
 // ES6 draft 09-27-13, section 20.2.2.34.
@@ -182,8 +182,8 @@ function MathTrunc(x) {
   x = TO_NUMBER_INLINE(x);
   if (x > 0) return MathFloor(x);
   if (x < 0) return MathCeil(x);
-  if (x === 0) return x;
-  return NAN;
+  // -0, 0 or NaN.
+  return x;
 }
 
 // ES6 draft 09-27-13, section 20.2.2.30.