summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/built-ins/Math/f16round
diff options
context:
space:
mode:
Diffstat (limited to 'js/src/tests/test262/built-ins/Math/f16round')
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/browser.js0
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/length.js20
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/name.js20
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/not-a-constructor.js19
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/prop-desc.js17
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/shell.js680
-rw-r--r--js/src/tests/test262/built-ins/Math/f16round/value-conversion.js28
7 files changed, 784 insertions, 0 deletions
diff --git a/js/src/tests/test262/built-ins/Math/f16round/browser.js b/js/src/tests/test262/built-ins/Math/f16round/browser.js
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/browser.js
diff --git a/js/src/tests/test262/built-ins/Math/f16round/length.js b/js/src/tests/test262/built-ins/Math/f16round/length.js
new file mode 100644
index 0000000000..06aa21a352
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/length.js
@@ -0,0 +1,20 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.f16round
+description: >
+ Math.f16round.length is 1
+features: [Float16Array]
+includes: [propertyHelper.js]
+---*/
+
+verifyProperty(Math.f16round, 'length', {
+ value: 1,
+ enumerable: false,
+ writable: false,
+ configurable: true
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/f16round/name.js b/js/src/tests/test262/built-ins/Math/f16round/name.js
new file mode 100644
index 0000000000..6e6167e469
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/name.js
@@ -0,0 +1,20 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.f16round
+description: >
+ Math.f16round.name is "f16round"
+features: [Float16Array]
+includes: [propertyHelper.js]
+---*/
+
+verifyProperty(Math.f16round, 'name', {
+ value: 'f16round',
+ enumerable: false,
+ writable: false,
+ configurable: true
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/f16round/not-a-constructor.js b/js/src/tests/test262/built-ins/Math/f16round/not-a-constructor.js
new file mode 100644
index 0000000000..1dcb13eb89
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/not-a-constructor.js
@@ -0,0 +1,19 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-ecmascript-standard-built-in-objects
+description: >
+ Math.f16round does not implement [[Construct]], is not new-able
+includes: [isConstructor.js]
+features: [Float16Array, Reflect.construct]
+---*/
+
+assert(!isConstructor(Math.f16round), "Math.f16round is not a constructor");
+
+assert.throws(TypeError, function () {
+ new Math.fround();
+});
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/f16round/prop-desc.js b/js/src/tests/test262/built-ins/Math/f16round/prop-desc.js
new file mode 100644
index 0000000000..970532b3b8
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/prop-desc.js
@@ -0,0 +1,17 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.f16round
+description: >
+ "f16round" property of Math
+features: [Float16Array]
+includes: [propertyHelper.js]
+---*/
+
+verifyNotEnumerable(Math, "f16round");
+verifyWritable(Math, "f16round");
+verifyConfigurable(Math, "f16round");
+
+reportCompare(0, 0);
diff --git a/js/src/tests/test262/built-ins/Math/f16round/shell.js b/js/src/tests/test262/built-ins/Math/f16round/shell.js
new file mode 100644
index 0000000000..d71430014e
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/shell.js
@@ -0,0 +1,680 @@
+// GENERATED, DO NOT EDIT
+// file: byteConversionValues.js
+// Copyright (C) 2016 the V8 project authors. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+description: |
+ Provide a list for original and expected values for different byte
+ conversions.
+ This helper is mostly used on tests for TypedArray and DataView, and each
+ array from the expected values must match the original values array on every
+ index containing its original value.
+defines: [byteConversionValues]
+---*/
+var byteConversionValues = {
+ values: [
+ 127, // 2 ** 7 - 1
+ 128, // 2 ** 7
+ 32767, // 2 ** 15 - 1
+ 32768, // 2 ** 15
+ 2147483647, // 2 ** 31 - 1
+ 2147483648, // 2 ** 31
+ 255, // 2 ** 8 - 1
+ 256, // 2 ** 8
+ 65535, // 2 ** 16 - 1
+ 65536, // 2 ** 16
+ 4294967295, // 2 ** 32 - 1
+ 4294967296, // 2 ** 32
+ 9007199254740991, // 2 ** 53 - 1
+ 9007199254740992, // 2 ** 53
+ 1.1,
+ 0.1,
+ 0.5,
+ 0.50000001,
+ 0.6,
+ 0.7,
+ undefined,
+ -1,
+ -0,
+ -0.1,
+ -1.1,
+ NaN,
+ -127, // - ( 2 ** 7 - 1 )
+ -128, // - ( 2 ** 7 )
+ -32767, // - ( 2 ** 15 - 1 )
+ -32768, // - ( 2 ** 15 )
+ -2147483647, // - ( 2 ** 31 - 1 )
+ -2147483648, // - ( 2 ** 31 )
+ -255, // - ( 2 ** 8 - 1 )
+ -256, // - ( 2 ** 8 )
+ -65535, // - ( 2 ** 16 - 1 )
+ -65536, // - ( 2 ** 16 )
+ -4294967295, // - ( 2 ** 32 - 1 )
+ -4294967296, // - ( 2 ** 32 )
+ Infinity,
+ -Infinity,
+ 0,
+ 2049, // an integer which rounds down under ties-to-even when cast to float16
+ 2051, // an integer which rounds up under ties-to-even when cast to float16
+ 0.00006103515625, // smallest normal float16
+ 0.00006097555160522461, // largest subnormal float16
+ 5.960464477539063e-8, // smallest float16
+ 2.9802322387695312e-8, // largest double which rounds to 0 when cast to float16
+ 2.980232238769532e-8, // smallest double which does not round to 0 when cast to float16
+ 8.940696716308594e-8, // a double which rounds up to a subnormal under ties-to-even when cast to float16
+ 1.4901161193847656e-7, // a double which rounds down to a subnormal under ties-to-even when cast to float16
+ 1.490116119384766e-7, // the next double above the one on the previous line one
+ 65504, // max finite float16
+ 65520, // smallest double which rounds to infinity when cast to float16
+ 65519.99999999999, // largest double which does not round to infinity when cast to float16
+ 0.000061005353927612305, // smallest double which rounds to a non-subnormal when cast to float16
+ 0.0000610053539276123 // largest double which rounds to a subnormal when cast to float16
+ ],
+
+ expected: {
+ Int8: [
+ 127, // 127
+ -128, // 128
+ -1, // 32767
+ 0, // 32768
+ -1, // 2147483647
+ 0, // 2147483648
+ -1, // 255
+ 0, // 256
+ -1, // 65535
+ 0, // 65536
+ -1, // 4294967295
+ 0, // 4294967296
+ -1, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ -1, // -1
+ 0, // -0
+ 0, // -0.1
+ -1, // -1.1
+ 0, // NaN
+ -127, // -127
+ -128, // -128
+ 1, // -32767
+ 0, // -32768
+ 1, // -2147483647
+ 0, // -2147483648
+ 1, // -255
+ 0, // -256
+ 1, // -65535
+ 0, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 1, // 2049
+ 3, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ -32, // 65504
+ -16, // 65520
+ -17, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Uint8: [
+ 127, // 127
+ 128, // 128
+ 255, // 32767
+ 0, // 32768
+ 255, // 2147483647
+ 0, // 2147483648
+ 255, // 255
+ 0, // 256
+ 255, // 65535
+ 0, // 65536
+ 255, // 4294967295
+ 0, // 4294967296
+ 255, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ 255, // -1
+ 0, // -0
+ 0, // -0.1
+ 255, // -1.1
+ 0, // NaN
+ 129, // -127
+ 128, // -128
+ 1, // -32767
+ 0, // -32768
+ 1, // -2147483647
+ 0, // -2147483648
+ 1, // -255
+ 0, // -256
+ 1, // -65535
+ 0, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 1, // 2049
+ 3, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 224, // 65504
+ 240, // 65520
+ 239, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Uint8Clamped: [
+ 127, // 127
+ 128, // 128
+ 255, // 32767
+ 255, // 32768
+ 255, // 2147483647
+ 255, // 2147483648
+ 255, // 255
+ 255, // 256
+ 255, // 65535
+ 255, // 65536
+ 255, // 4294967295
+ 255, // 4294967296
+ 255, // 9007199254740991
+ 255, // 9007199254740992
+ 1, // 1.1,
+ 0, // 0.1
+ 0, // 0.5
+ 1, // 0.50000001,
+ 1, // 0.6
+ 1, // 0.7
+ 0, // undefined
+ 0, // -1
+ 0, // -0
+ 0, // -0.1
+ 0, // -1.1
+ 0, // NaN
+ 0, // -127
+ 0, // -128
+ 0, // -32767
+ 0, // -32768
+ 0, // -2147483647
+ 0, // -2147483648
+ 0, // -255
+ 0, // -256
+ 0, // -65535
+ 0, // -65536
+ 0, // -4294967295
+ 0, // -4294967296
+ 255, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 255, // 2049
+ 255, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 255, // 65504
+ 255, // 65520
+ 255, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Int16: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ -32768, // 32768
+ -1, // 2147483647
+ 0, // 2147483648
+ 255, // 255
+ 256, // 256
+ -1, // 65535
+ 0, // 65536
+ -1, // 4294967295
+ 0, // 4294967296
+ -1, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ -1, // -1
+ 0, // -0
+ 0, // -0.1
+ -1, // -1.1
+ 0, // NaN
+ -127, // -127
+ -128, // -128
+ -32767, // -32767
+ -32768, // -32768
+ 1, // -2147483647
+ 0, // -2147483648
+ -255, // -255
+ -256, // -256
+ 1, // -65535
+ 0, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ -32, // 65504
+ -16, // 65520
+ -17, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Uint16: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 65535, // 2147483647
+ 0, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 0, // 65536
+ 65535, // 4294967295
+ 0, // 4294967296
+ 65535, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ 65535, // -1
+ 0, // -0
+ 0, // -0.1
+ 65535, // -1.1
+ 0, // NaN
+ 65409, // -127
+ 65408, // -128
+ 32769, // -32767
+ 32768, // -32768
+ 1, // -2147483647
+ 0, // -2147483648
+ 65281, // -255
+ 65280, // -256
+ 1, // -65535
+ 0, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65519, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Int32: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 2147483647, // 2147483647
+ -2147483648, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 65536, // 65536
+ -1, // 4294967295
+ 0, // 4294967296
+ -1, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ -1, // -1
+ 0, // -0
+ 0, // -0.1
+ -1, // -1.1
+ 0, // NaN
+ -127, // -127
+ -128, // -128
+ -32767, // -32767
+ -32768, // -32768
+ -2147483647, // -2147483647
+ -2147483648, // -2147483648
+ -255, // -255
+ -256, // -256
+ -65535, // -65535
+ -65536, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65519, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Uint32: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 2147483647, // 2147483647
+ 2147483648, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 65536, // 65536
+ 4294967295, // 4294967295
+ 0, // 4294967296
+ 4294967295, // 9007199254740991
+ 0, // 9007199254740992
+ 1, // 1.1
+ 0, // 0.1
+ 0, // 0.5
+ 0, // 0.50000001,
+ 0, // 0.6
+ 0, // 0.7
+ 0, // undefined
+ 4294967295, // -1
+ 0, // -0
+ 0, // -0.1
+ 4294967295, // -1.1
+ 0, // NaN
+ 4294967169, // -127
+ 4294967168, // -128
+ 4294934529, // -32767
+ 4294934528, // -32768
+ 2147483649, // -2147483647
+ 2147483648, // -2147483648
+ 4294967041, // -255
+ 4294967040, // -256
+ 4294901761, // -65535
+ 4294901760, // -65536
+ 1, // -4294967295
+ 0, // -4294967296
+ 0, // Infinity
+ 0, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0, // 0.00006103515625
+ 0, // 0.00006097555160522461
+ 0, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 0, // 2.980232238769532e-8
+ 0, // 8.940696716308594e-8
+ 0, // 1.4901161193847656e-7
+ 0, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65519, // 65519.99999999999
+ 0, // 0.000061005353927612305
+ 0 // 0.0000610053539276123
+ ],
+ Float16: [
+ 127, // 127
+ 128, // 128
+ 32768, // 32767
+ 32768, // 32768
+ Infinity, // 2147483647
+ Infinity, // 2147483648
+ 255, // 255
+ 256, // 256
+ Infinity, // 65535
+ Infinity, // 65536
+ Infinity, // 4294967295
+ Infinity, // 4294967296
+ Infinity, // 9007199254740991
+ Infinity, // 9007199254740992
+ 1.099609375, // 1.1
+ 0.0999755859375, // 0.1
+ 0.5, // 0.5
+ 0.5, // 0.50000001,
+ 0.60009765625, // 0.6
+ 0.7001953125, // 0.7
+ NaN, // undefined
+ -1, // -1
+ -0, // -0
+ -0.0999755859375, // -0.1
+ -1.099609375, // -1.1
+ NaN, // NaN
+ -127, // -127
+ -128, // -128
+ -32768, // -32767
+ -32768, // -32768
+ -Infinity, // -2147483647
+ -Infinity, // -2147483648
+ -255, // -255
+ -256, // -256
+ -Infinity, // -65535
+ -Infinity, // -65536
+ -Infinity, // -4294967295
+ -Infinity, // -4294967296
+ Infinity, // Infinity
+ -Infinity, // -Infinity
+ 0, // 0
+ 2048, // 2049
+ 2052, // 2051
+ 0.00006103515625, // 0.00006103515625
+ 0.00006097555160522461, // 0.00006097555160522461
+ 5.960464477539063e-8, // 5.960464477539063e-8
+ 0, // 2.9802322387695312e-8
+ 5.960464477539063e-8, // 2.980232238769532e-8
+ 1.1920928955078125e-7, // 8.940696716308594e-8
+ 1.1920928955078125e-7, // 1.4901161193847656e-7
+ 1.7881393432617188e-7, // 1.490116119384766e-7
+ 65504, // 65504
+ Infinity, // 65520
+ 65504, // 65519.99999999999
+ 0.00006103515625, // 0.000061005353927612305
+ 0.00006097555160522461 // 0.0000610053539276123
+ ],
+ Float32: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 2147483648, // 2147483647
+ 2147483648, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 65536, // 65536
+ 4294967296, // 4294967295
+ 4294967296, // 4294967296
+ 9007199254740992, // 9007199254740991
+ 9007199254740992, // 9007199254740992
+ 1.100000023841858, // 1.1
+ 0.10000000149011612, // 0.1
+ 0.5, // 0.5
+ 0.5, // 0.50000001,
+ 0.6000000238418579, // 0.6
+ 0.699999988079071, // 0.7
+ NaN, // undefined
+ -1, // -1
+ -0, // -0
+ -0.10000000149011612, // -0.1
+ -1.100000023841858, // -1.1
+ NaN, // NaN
+ -127, // -127
+ -128, // -128
+ -32767, // -32767
+ -32768, // -32768
+ -2147483648, // -2147483647
+ -2147483648, // -2147483648
+ -255, // -255
+ -256, // -256
+ -65535, // -65535
+ -65536, // -65536
+ -4294967296, // -4294967295
+ -4294967296, // -4294967296
+ Infinity, // Infinity
+ -Infinity, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0.00006103515625, // 0.00006103515625
+ 0.00006097555160522461, // 0.00006097555160522461
+ 5.960464477539063e-8, // 5.960464477539063e-8
+ 2.9802322387695312e-8, // 2.9802322387695312e-8
+ 2.9802322387695312e-8, // 2.980232238769532e-8
+ 8.940696716308594e-8, // 8.940696716308594e-8
+ 1.4901161193847656e-7, // 1.4901161193847656e-7
+ 1.4901161193847656e-7, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65520, // 65519.99999999999
+ 0.000061005353927612305, // 0.000061005353927612305
+ 0.000061005353927612305 // 0.0000610053539276123
+ ],
+ Float64: [
+ 127, // 127
+ 128, // 128
+ 32767, // 32767
+ 32768, // 32768
+ 2147483647, // 2147483647
+ 2147483648, // 2147483648
+ 255, // 255
+ 256, // 256
+ 65535, // 65535
+ 65536, // 65536
+ 4294967295, // 4294967295
+ 4294967296, // 4294967296
+ 9007199254740991, // 9007199254740991
+ 9007199254740992, // 9007199254740992
+ 1.1, // 1.1
+ 0.1, // 0.1
+ 0.5, // 0.5
+ 0.50000001, // 0.50000001,
+ 0.6, // 0.6
+ 0.7, // 0.7
+ NaN, // undefined
+ -1, // -1
+ -0, // -0
+ -0.1, // -0.1
+ -1.1, // -1.1
+ NaN, // NaN
+ -127, // -127
+ -128, // -128
+ -32767, // -32767
+ -32768, // -32768
+ -2147483647, // -2147483647
+ -2147483648, // -2147483648
+ -255, // -255
+ -256, // -256
+ -65535, // -65535
+ -65536, // -65536
+ -4294967295, // -4294967295
+ -4294967296, // -4294967296
+ Infinity, // Infinity
+ -Infinity, // -Infinity
+ 0, // 0
+ 2049, // 2049
+ 2051, // 2051
+ 0.00006103515625, // 0.00006103515625
+ 0.00006097555160522461, // 0.00006097555160522461
+ 5.960464477539063e-8, // 5.960464477539063e-8
+ 2.9802322387695312e-8, // 2.9802322387695312e-8
+ 2.980232238769532e-8, // 2.980232238769532e-8
+ 8.940696716308594e-8, // 8.940696716308594e-8
+ 1.4901161193847656e-7, // 1.4901161193847656e-7
+ 1.490116119384766e-7, // 1.490116119384766e-7
+ 65504, // 65504
+ 65520, // 65520
+ 65519.99999999999, // 65519.99999999999
+ 0.000061005353927612305, // 0.000061005353927612305
+ 0.0000610053539276123 // 0.0000610053539276123
+ ]
+ }
+};
+
+// file: isConstructor.js
+// Copyright (C) 2017 André Bargull. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+description: |
+ Test if a given function is a constructor function.
+defines: [isConstructor]
+features: [Reflect.construct]
+---*/
+
+function isConstructor(f) {
+ if (typeof f !== "function") {
+ throw new Test262Error("isConstructor invoked with a non-function value");
+ }
+
+ try {
+ Reflect.construct(function(){}, [], f);
+ } catch (e) {
+ return false;
+ }
+ return true;
+}
diff --git a/js/src/tests/test262/built-ins/Math/f16round/value-conversion.js b/js/src/tests/test262/built-ins/Math/f16round/value-conversion.js
new file mode 100644
index 0000000000..2e6ebae58b
--- /dev/null
+++ b/js/src/tests/test262/built-ins/Math/f16round/value-conversion.js
@@ -0,0 +1,28 @@
+// |reftest| shell-option(--enable-float16array) skip-if(!this.hasOwnProperty('Float16Array')||!xulRuntime.shell) -- Float16Array is not enabled unconditionally, requires shell-options
+// Copyright (C) 2024 Kevin Gibbons. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-math.f16round
+description: >
+ Convert to binary16 format and than to binary64 format
+features: [Float16Array]
+includes: [byteConversionValues.js]
+---*/
+
+var values = byteConversionValues.values;
+var expectedValues = byteConversionValues.expected.Float16;
+
+values.forEach(function(value, i) {
+ var expected = expectedValues[i];
+
+ var result = Math.f16round(value);
+
+ assert.sameValue(
+ result,
+ expected,
+ "value: " + value
+ );
+});
+
+reportCompare(0, 0);