mirror of https://github.com/tc39/test262.git
655 lines
20 KiB
JavaScript
655 lines
20 KiB
JavaScript
// 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
|
|
]
|
|
}
|
|
};
|