|
| 1 | +/** |
| 2 | + * @typedef {[number, string]} TestCase |
| 3 | + * @property {number} decimal |
| 4 | + * @property {string} binary |
| 5 | + */ |
| 6 | + |
| 7 | +/** |
| 8 | + * @type {TestCase[]} |
| 9 | + */ |
| 10 | +export const testCases16Bits = [ |
| 11 | + [-65504, '1111101111111111'], |
| 12 | + [-10344, '1111000100001101'], |
| 13 | + [-27.15625, '1100111011001010'], |
| 14 | + [-1, '1011110000000000'], |
| 15 | + [-0.09997558, '1010111001100110'], |
| 16 | + [0, '0000000000000000'], |
| 17 | + [5.9604644775390625e-8, '0000000000000001'], |
| 18 | + [0.000004529, '0000000001001100'], |
| 19 | + [0.0999755859375, '0010111001100110'], |
| 20 | + [0.199951171875, '0011001001100110'], |
| 21 | + [0.300048828125, '0011010011001101'], |
| 22 | + [1, '0011110000000000'], |
| 23 | + [1.5, '0011111000000000'], |
| 24 | + [1.75, '0011111100000000'], |
| 25 | + [1.875, '0011111110000000'], |
| 26 | + [65504, '0111101111111111'], |
| 27 | +]; |
| 28 | + |
| 29 | +/** |
| 30 | + * @type {TestCase[]} |
| 31 | + */ |
| 32 | +export const testCases32Bits = [ |
| 33 | + [-3.40282346638528859812e+38, '11111111011111111111111111111111'], |
| 34 | + [-10345.5595703125, '11000110001000011010011000111101'], |
| 35 | + [-27.15625, '11000001110110010100000000000000'], |
| 36 | + [-1, '10111111100000000000000000000000'], |
| 37 | + [-0.1, '10111101110011001100110011001101'], |
| 38 | + [0, '00000000000000000000000000000000'], |
| 39 | + [1.40129846432481707092e-45, '00000000000000000000000000000001'], |
| 40 | + [0.000004560, '00110110100110010000001000011010'], |
| 41 | + [0.1, '00111101110011001100110011001101'], |
| 42 | + [0.2, '00111110010011001100110011001101'], |
| 43 | + [0.3, '00111110100110011001100110011010'], |
| 44 | + [1, '00111111100000000000000000000000'], |
| 45 | + [1.5, '00111111110000000000000000000000'], |
| 46 | + [1.75, '00111111111000000000000000000000'], |
| 47 | + [1.875, '00111111111100000000000000000000'], |
| 48 | + [3.40282346638528859812e+38, '01111111011111111111111111111111'], |
| 49 | +]; |
| 50 | + |
| 51 | +/** |
| 52 | + * @type {TestCase[]} |
| 53 | + */ |
| 54 | +export const testCases64Bits = [ |
| 55 | + [-1.79769313486231570815e+308, '1111111111101111111111111111111111111111111111111111111111111111'], |
| 56 | + [-10345.5595703125, '1100000011000100001101001100011110100000000000000000000000000000'], |
| 57 | + [-27.15625, '1100000000111011001010000000000000000000000000000000000000000000'], |
| 58 | + [-1, '1011111111110000000000000000000000000000000000000000000000000000'], |
| 59 | + [-0.1, '1011111110111001100110011001100110011001100110011001100110011010'], |
| 60 | + [0, '0000000000000000000000000000000000000000000000000000000000000000'], |
| 61 | + [4.94065645841246544177e-324, '0000000000000000000000000000000000000000000000000000000000000001'], |
| 62 | + [0.000004560, '0011111011010011001000000100001101000001011100110011110011100100'], |
| 63 | + [0.1, '0011111110111001100110011001100110011001100110011001100110011010'], |
| 64 | + [0.2, '0011111111001001100110011001100110011001100110011001100110011010'], |
| 65 | + [0.3, '0011111111010011001100110011001100110011001100110011001100110011'], |
| 66 | + [1, '0011111111110000000000000000000000000000000000000000000000000000'], |
| 67 | + [1.5, '0011111111111000000000000000000000000000000000000000000000000000'], |
| 68 | + [1.75, '0011111111111100000000000000000000000000000000000000000000000000'], |
| 69 | + [1.875, '0011111111111110000000000000000000000000000000000000000000000000'], |
| 70 | + [1.79769313486231570815e+308, '0111111111101111111111111111111111111111111111111111111111111111'], |
| 71 | +]; |
0 commit comments