byteConversionValues.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445
  1. // Copyright (C) 2016 the V8 project authors. All rights reserved.
  2. // This code is governed by the BSD license found in the LICENSE file.
  3. /*---
  4. description: |
  5. Provide a list for original and expected values for different byte
  6. conversions.
  7. This helper is mostly used on tests for TypedArray and DataView, and each
  8. array from the expected values must match the original values array on every
  9. index containing its original value.
  10. ---*/
  11. var byteConversionValues = {
  12. values: [
  13. 127, // 2 ** 7 - 1
  14. 128, // 2 ** 7
  15. 32767, // 2 ** 15 - 1
  16. 32768, // 2 ** 15
  17. 2147483647, // 2 ** 31 - 1
  18. 2147483648, // 2 ** 31
  19. 255, // 2 ** 8 - 1
  20. 256, // 2 ** 8
  21. 65535, // 2 ** 16 - 1
  22. 65536, // 2 ** 16
  23. 4294967295, // 2 ** 32 - 1
  24. 4294967296, // 2 ** 32
  25. 9007199254740991, // 2 ** 53 - 1
  26. 9007199254740992, // 2 ** 53
  27. 1.1,
  28. 0.1,
  29. 0.5,
  30. 0.50000001,
  31. 0.6,
  32. 0.7,
  33. undefined,
  34. -1,
  35. -0,
  36. -0.1,
  37. -1.1,
  38. NaN,
  39. -127, // - ( 2 ** 7 - 1 )
  40. -128, // - ( 2 ** 7 )
  41. -32767, // - ( 2 ** 15 - 1 )
  42. -32768, // - ( 2 ** 15 )
  43. -2147483647, // - ( 2 ** 31 - 1 )
  44. -2147483648, // - ( 2 ** 31 )
  45. -255, // - ( 2 ** 8 - 1 )
  46. -256, // - ( 2 ** 8 )
  47. -65535, // - ( 2 ** 16 - 1 )
  48. -65536, // - ( 2 ** 16 )
  49. -4294967295, // - ( 2 ** 32 - 1 )
  50. -4294967296, // - ( 2 ** 32 )
  51. Infinity,
  52. -Infinity,
  53. 0
  54. ],
  55. expected: {
  56. Int8: [
  57. 127, // 127
  58. -128, // 128
  59. -1, // 32767
  60. 0, // 32768
  61. -1, // 2147483647
  62. 0, // 2147483648
  63. -1, // 255
  64. 0, // 256
  65. -1, // 65535
  66. 0, // 65536
  67. -1, // 4294967295
  68. 0, // 4294967296
  69. -1, // 9007199254740991
  70. 0, // 9007199254740992
  71. 1, // 1.1
  72. 0, // 0.1
  73. 0, // 0.5
  74. 0, // 0.50000001,
  75. 0, // 0.6
  76. 0, // 0.7
  77. 0, // undefined
  78. -1, // -1
  79. 0, // -0
  80. 0, // -0.1
  81. -1, // -1.1
  82. 0, // NaN
  83. -127, // -127
  84. -128, // -128
  85. 1, // -32767
  86. 0, // -32768
  87. 1, // -2147483647
  88. 0, // -2147483648
  89. 1, // -255
  90. 0, // -256
  91. 1, // -65535
  92. 0, // -65536
  93. 1, // -4294967295
  94. 0, // -4294967296
  95. 0, // Infinity
  96. 0, // -Infinity
  97. 0
  98. ],
  99. Uint8: [
  100. 127, // 127
  101. 128, // 128
  102. 255, // 32767
  103. 0, // 32768
  104. 255, // 2147483647
  105. 0, // 2147483648
  106. 255, // 255
  107. 0, // 256
  108. 255, // 65535
  109. 0, // 65536
  110. 255, // 4294967295
  111. 0, // 4294967296
  112. 255, // 9007199254740991
  113. 0, // 9007199254740992
  114. 1, // 1.1
  115. 0, // 0.1
  116. 0, // 0.5
  117. 0, // 0.50000001,
  118. 0, // 0.6
  119. 0, // 0.7
  120. 0, // undefined
  121. 255, // -1
  122. 0, // -0
  123. 0, // -0.1
  124. 255, // -1.1
  125. 0, // NaN
  126. 129, // -127
  127. 128, // -128
  128. 1, // -32767
  129. 0, // -32768
  130. 1, // -2147483647
  131. 0, // -2147483648
  132. 1, // -255
  133. 0, // -256
  134. 1, // -65535
  135. 0, // -65536
  136. 1, // -4294967295
  137. 0, // -4294967296
  138. 0, // Infinity
  139. 0, // -Infinity
  140. 0
  141. ],
  142. Uint8Clamped: [
  143. 127, // 127
  144. 128, // 128
  145. 255, // 32767
  146. 255, // 32768
  147. 255, // 2147483647
  148. 255, // 2147483648
  149. 255, // 255
  150. 255, // 256
  151. 255, // 65535
  152. 255, // 65536
  153. 255, // 4294967295
  154. 255, // 4294967296
  155. 255, // 9007199254740991
  156. 255, // 9007199254740992
  157. 1, // 1.1,
  158. 0, // 0.1
  159. 0, // 0.5
  160. 1, // 0.50000001,
  161. 1, // 0.6
  162. 1, // 0.7
  163. 0, // undefined
  164. 0, // -1
  165. 0, // -0
  166. 0, // -0.1
  167. 0, // -1.1
  168. 0, // NaN
  169. 0, // -127
  170. 0, // -128
  171. 0, // -32767
  172. 0, // -32768
  173. 0, // -2147483647
  174. 0, // -2147483648
  175. 0, // -255
  176. 0, // -256
  177. 0, // -65535
  178. 0, // -65536
  179. 0, // -4294967295
  180. 0, // -4294967296
  181. 255, // Infinity
  182. 0, // -Infinity
  183. 0
  184. ],
  185. Int16: [
  186. 127, // 127
  187. 128, // 128
  188. 32767, // 32767
  189. -32768, // 32768
  190. -1, // 2147483647
  191. 0, // 2147483648
  192. 255, // 255
  193. 256, // 256
  194. -1, // 65535
  195. 0, // 65536
  196. -1, // 4294967295
  197. 0, // 4294967296
  198. -1, // 9007199254740991
  199. 0, // 9007199254740992
  200. 1, // 1.1
  201. 0, // 0.1
  202. 0, // 0.5
  203. 0, // 0.50000001,
  204. 0, // 0.6
  205. 0, // 0.7
  206. 0, // undefined
  207. -1, // -1
  208. 0, // -0
  209. 0, // -0.1
  210. -1, // -1.1
  211. 0, // NaN
  212. -127, // -127
  213. -128, // -128
  214. -32767, // -32767
  215. -32768, // -32768
  216. 1, // -2147483647
  217. 0, // -2147483648
  218. -255, // -255
  219. -256, // -256
  220. 1, // -65535
  221. 0, // -65536
  222. 1, // -4294967295
  223. 0, // -4294967296
  224. 0, // Infinity
  225. 0, // -Infinity
  226. 0
  227. ],
  228. Uint16: [
  229. 127, // 127
  230. 128, // 128
  231. 32767, // 32767
  232. 32768, // 32768
  233. 65535, // 2147483647
  234. 0, // 2147483648
  235. 255, // 255
  236. 256, // 256
  237. 65535, // 65535
  238. 0, // 65536
  239. 65535, // 4294967295
  240. 0, // 4294967296
  241. 65535, // 9007199254740991
  242. 0, // 9007199254740992
  243. 1, // 1.1
  244. 0, // 0.1
  245. 0, // 0.5
  246. 0, // 0.50000001,
  247. 0, // 0.6
  248. 0, // 0.7
  249. 0, // undefined
  250. 65535, // -1
  251. 0, // -0
  252. 0, // -0.1
  253. 65535, // -1.1
  254. 0, // NaN
  255. 65409, // -127
  256. 65408, // -128
  257. 32769, // -32767
  258. 32768, // -32768
  259. 1, // -2147483647
  260. 0, // -2147483648
  261. 65281, // -255
  262. 65280, // -256
  263. 1, // -65535
  264. 0, // -65536
  265. 1, // -4294967295
  266. 0, // -4294967296
  267. 0, // Infinity
  268. 0, // -Infinity
  269. 0
  270. ],
  271. Int32: [
  272. 127, // 127
  273. 128, // 128
  274. 32767, // 32767
  275. 32768, // 32768
  276. 2147483647, // 2147483647
  277. -2147483648, // 2147483648
  278. 255, // 255
  279. 256, // 256
  280. 65535, // 65535
  281. 65536, // 65536
  282. -1, // 4294967295
  283. 0, // 4294967296
  284. -1, // 9007199254740991
  285. 0, // 9007199254740992
  286. 1, // 1.1
  287. 0, // 0.1
  288. 0, // 0.5
  289. 0, // 0.50000001,
  290. 0, // 0.6
  291. 0, // 0.7
  292. 0, // undefined
  293. -1, // -1
  294. 0, // -0
  295. 0, // -0.1
  296. -1, // -1.1
  297. 0, // NaN
  298. -127, // -127
  299. -128, // -128
  300. -32767, // -32767
  301. -32768, // -32768
  302. -2147483647, // -2147483647
  303. -2147483648, // -2147483648
  304. -255, // -255
  305. -256, // -256
  306. -65535, // -65535
  307. -65536, // -65536
  308. 1, // -4294967295
  309. 0, // -4294967296
  310. 0, // Infinity
  311. 0, // -Infinity
  312. 0
  313. ],
  314. Uint32: [
  315. 127, // 127
  316. 128, // 128
  317. 32767, // 32767
  318. 32768, // 32768
  319. 2147483647, // 2147483647
  320. 2147483648, // 2147483648
  321. 255, // 255
  322. 256, // 256
  323. 65535, // 65535
  324. 65536, // 65536
  325. 4294967295, // 4294967295
  326. 0, // 4294967296
  327. 4294967295, // 9007199254740991
  328. 0, // 9007199254740992
  329. 1, // 1.1
  330. 0, // 0.1
  331. 0, // 0.5
  332. 0, // 0.50000001,
  333. 0, // 0.6
  334. 0, // 0.7
  335. 0, // undefined
  336. 4294967295, // -1
  337. 0, // -0
  338. 0, // -0.1
  339. 4294967295, // -1.1
  340. 0, // NaN
  341. 4294967169, // -127
  342. 4294967168, // -128
  343. 4294934529, // -32767
  344. 4294934528, // -32768
  345. 2147483649, // -2147483647
  346. 2147483648, // -2147483648
  347. 4294967041, // -255
  348. 4294967040, // -256
  349. 4294901761, // -65535
  350. 4294901760, // -65536
  351. 1, // -4294967295
  352. 0, // -4294967296
  353. 0, // Infinity
  354. 0, // -Infinity
  355. 0
  356. ],
  357. Float32: [
  358. 127, // 127
  359. 128, // 128
  360. 32767, // 32767
  361. 32768, // 32768
  362. 2147483648, // 2147483647
  363. 2147483648, // 2147483648
  364. 255, // 255
  365. 256, // 256
  366. 65535, // 65535
  367. 65536, // 65536
  368. 4294967296, // 4294967295
  369. 4294967296, // 4294967296
  370. 9007199254740992, // 9007199254740991
  371. 9007199254740992, // 9007199254740992
  372. 1.100000023841858, // 1.1
  373. 0.10000000149011612, // 0.1
  374. 0.5, // 0.5
  375. 0.5, // 0.50000001,
  376. 0.6000000238418579, // 0.6
  377. 0.699999988079071, // 0.7
  378. NaN, // undefined
  379. -1, // -1
  380. -0, // -0
  381. -0.10000000149011612, // -0.1
  382. -1.100000023841858, // -1.1
  383. NaN, // NaN
  384. -127, // -127
  385. -128, // -128
  386. -32767, // -32767
  387. -32768, // -32768
  388. -2147483648, // -2147483647
  389. -2147483648, // -2147483648
  390. -255, // -255
  391. -256, // -256
  392. -65535, // -65535
  393. -65536, // -65536
  394. -4294967296, // -4294967295
  395. -4294967296, // -4294967296
  396. Infinity, // Infinity
  397. -Infinity, // -Infinity
  398. 0
  399. ],
  400. Float64: [
  401. 127, // 127
  402. 128, // 128
  403. 32767, // 32767
  404. 32768, // 32768
  405. 2147483647, // 2147483647
  406. 2147483648, // 2147483648
  407. 255, // 255
  408. 256, // 256
  409. 65535, // 65535
  410. 65536, // 65536
  411. 4294967295, // 4294967295
  412. 4294967296, // 4294967296
  413. 9007199254740991, // 9007199254740991
  414. 9007199254740992, // 9007199254740992
  415. 1.1, // 1.1
  416. 0.1, // 0.1
  417. 0.5, // 0.5
  418. 0.50000001, // 0.50000001,
  419. 0.6, // 0.6
  420. 0.7, // 0.7
  421. NaN, // undefined
  422. -1, // -1
  423. -0, // -0
  424. -0.1, // -0.1
  425. -1.1, // -1.1
  426. NaN, // NaN
  427. -127, // -127
  428. -128, // -128
  429. -32767, // -32767
  430. -32768, // -32768
  431. -2147483647, // -2147483647
  432. -2147483648, // -2147483648
  433. -255, // -255
  434. -256, // -256
  435. -65535, // -65535
  436. -65536, // -65536
  437. -4294967295, // -4294967295
  438. -4294967296, // -4294967296
  439. Infinity, // Infinity
  440. -Infinity, // -Infinity
  441. 0
  442. ]
  443. }
  444. };