/** * @typedef {[number, string]} TestCase * @property {number} decimal * @property {string} binary */ /** * @type {TestCase[]} */ export const testCases16Bits = [ [-65504, '1111101111111111'], [-10344, '1111000100001101'], [-27.15625, '1100111011001010'], [-1, '1011110000000000'], [-0.09997558, '1010111001100110'], [0, '0000000000000000'], [5.9604644775390625e-8, '0000000000000001'], [0.000004529, '0000000001001100'], [0.0999755859375, '0010111001100110'], [0.199951171875, '0011001001100110'], [0.300048828125, '0011010011001101'], [1, '0011110000000000'], [1.5, '0011111000000000'], [1.75, '0011111100000000'], [1.875, '0011111110000000'], [65504, '0111101111111111'], ]; /** * @type {TestCase[]} */ export const testCases32Bits = [ [-3.40282346638528859812e+38, '11111111011111111111111111111111'], [-10345.5595703125, '11000110001000011010011000111101'], [-27.15625, '11000001110110010100000000000000'], [-1, '10111111100000000000000000000000'], [-0.1, '10111101110011001100110011001101'], [0, '00000000000000000000000000000000'], [1.40129846432481707092e-45, '00000000000000000000000000000001'], [0.000004560, '00110110100110010000001000011010'], [0.1, '00111101110011001100110011001101'], [0.2, '00111110010011001100110011001101'], [0.3, '00111110100110011001100110011010'], [1, '00111111100000000000000000000000'], [1.5, '00111111110000000000000000000000'], [1.75, '00111111111000000000000000000000'], [1.875, '00111111111100000000000000000000'], [3.40282346638528859812e+38, '01111111011111111111111111111111'], ]; /** * @type {TestCase[]} */ export const testCases64Bits = [ [-1.79769313486231570815e+308, '1111111111101111111111111111111111111111111111111111111111111111'], [-10345.5595703125, '1100000011000100001101001100011110100000000000000000000000000000'], [-27.15625, '1100000000111011001010000000000000000000000000000000000000000000'], [-1, '1011111111110000000000000000000000000000000000000000000000000000'], [-0.1, '1011111110111001100110011001100110011001100110011001100110011010'], [0, '0000000000000000000000000000000000000000000000000000000000000000'], [4.94065645841246544177e-324, '0000000000000000000000000000000000000000000000000000000000000001'], [0.000004560, '0011111011010011001000000100001101000001011100110011110011100100'], [0.1, '0011111110111001100110011001100110011001100110011001100110011010'], [0.2, '0011111111001001100110011001100110011001100110011001100110011010'], [0.3, '0011111111010011001100110011001100110011001100110011001100110011'], [1, '0011111111110000000000000000000000000000000000000000000000000000'], [1.5, '0011111111111000000000000000000000000000000000000000000000000000'], [1.75, '0011111111111100000000000000000000000000000000000000000000000000'], [1.875, '0011111111111110000000000000000000000000000000000000000000000000'], [1.79769313486231570815e+308, '0111111111101111111111111111111111111111111111111111111111111111'], ];