From f88c93520d976c3eda00fec6528e2e1f6e0971cb Mon Sep 17 00:00:00 2001 From: Leonardo Balter Date: Wed, 22 Jun 2016 18:48:28 -0400 Subject: [PATCH] Expand tests for Math.fround --- .../built-ins/Math/fround/Math.fround_Zero.js | 3 ++- .../built-ins/Math/fround/value-convertion.js | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 test/built-ins/Math/fround/value-convertion.js diff --git a/test/built-ins/Math/fround/Math.fround_Zero.js b/test/built-ins/Math/fround/Math.fround_Zero.js index b6864fe421..b4c56fbd4c 100644 --- a/test/built-ins/Math/fround/Math.fround_Zero.js +++ b/test/built-ins/Math/fround/Math.fround_Zero.js @@ -4,7 +4,8 @@ /*--- es6id: 20.2.2.17 author: Ryan Lewis -description: Math.fround should return 0 if called with 0. +description: Math.fround should return arg if called with 0 or -0. ---*/ assert.sameValue(Math.fround(0), 0, 'Math.fround(0)'); +assert.sameValue(Math.fround(-0), -0, 'Math.fround(-0)'); diff --git a/test/built-ins/Math/fround/value-convertion.js b/test/built-ins/Math/fround/value-convertion.js new file mode 100644 index 0000000000..05340553ca --- /dev/null +++ b/test/built-ins/Math/fround/value-convertion.js @@ -0,0 +1,26 @@ +// Copyright (C) 2016 The V8 Project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +es6id: 20.2.2.17 +esid: sec-math.fround +description: > + Convert to binary32 format and than to binary64 format +info: | + Math.fround ( x ) + + [...] + 3. Let x32 be the result of converting x to a value in IEEE 754-2008 binary32 + format using roundTiesToEven. + 4. Let x64 be the result of converting x32 to a value in IEEE 754-2008 + binary64 format. + 5. Return the ECMAScript Number value corresponding to x64. +---*/ + +assert.sameValue(Math.fround(4294967295), 4294967296, "2**32-1"); +assert.sameValue(Math.fround(4294967296), 4294967296, "2**32"); +assert.sameValue(Math.fround(4294967297), 4294967296, "2**32+1"); + +assert.sameValue(Math.fround(0.1), 0.10000000149011612, "0.1"); +assert.sameValue(Math.fround(0.2), 0.20000000298023224, "0.2"); +assert.sameValue(Math.fround(0.5), 0.5, "0.5");