Exemplo n.º 1
0
def _compute_adjusted_exponent_length(exponent_length,
                                      first_32_exponent_bytes):
    exponent = big_endian_to_int(first_32_exponent_bytes)

    if exponent_length <= 32 and exponent == 0:
        return 0
    elif exponent_length <= 32:
        return get_highest_bit_index(exponent)
    else:
        first_32_bytes_as_int = big_endian_to_int(first_32_exponent_bytes)
        return (8 * (exponent_length - 32) +
                get_highest_bit_index(first_32_bytes_as_int))
def test_get_highest_bit_index(value, expected):
    actual = get_highest_bit_index(value)
    assert actual == expected