Пример #1
0
def _snap_to_base_10(mantissa):
    digits = ''.join(mantissa.split('.'))
    if SNAP_TO_BASE_10:
        f9 = strings.find(digits, '999', start=1)
        f0 = strings.find(digits, '000')
        if f9 < f0:
            digits = digits[:f9 - 1] + text_type(int(digits[f9 - 1]) + 1) + (
                '0' * (16 - f9))  # we know the last digit is not 9
        else:
            digits = digits[:f0] + ('0' * (16 - f0))
    return digits
Пример #2
0
def _snap_to_base_10(mantissa):
    digits = mantissa.replace('.', '')
    if SNAP_TO_BASE_10:
        f9 = strings.find(digits, '999')
        f0 = strings.find(digits, '000')
        if f9 == 0:
            return '1000000000000000', 1
        elif f9 < f0:
            digits = text_type(int(digits[:f9]) + 1) + ('0' * (16 - f9))
        else:
            digits = digits[:f0]+('0'*(16-f0))
    return digits, 0
Пример #3
0
def _snap_to_base_10(mantissa):
    digits = mantissa.replace('.', '')
    if SNAP_TO_BASE_10:
        f9 = strings.find(digits, '999')
        f0 = strings.find(digits, '000')
        if f9 == 0:
            return '1000000000000000', 1
        elif f9 < f0:
            digits = text_type(int(digits[:f9]) + 1) + ('0' * (16 - f9))
        else:
            digits = digits[:f0] + ('0' * (16 - f0))
    return digits, 0
Пример #4
0
def _snap_to_base_10(mantissa):
    # TODO: https://lists.nongnu.org/archive/html/gcl-devel/2012-10/pdfkieTlklRzN.pdf
    digits = mantissa.replace('.', '')
    if SNAP_TO_BASE_10:
        f9 = strings.find(digits, '999')
        f0 = strings.find(digits, '000')
        if f9 == 0:
            return '1000000000000000', 1
        elif f9 < f0:
            digits = text_type(int(digits[:f9]) + 1) + ('0' * (16 - f9))
        else:
            digits = digits[:f0] + ('0' * (16 - f0))
    return digits, 0
Пример #5
0
def _snap_to_base_10(mantissa):
    # TODO: https://lists.nongnu.org/archive/html/gcl-devel/2012-10/pdfkieTlklRzN.pdf
    digits = mantissa.replace(".", "")
    if SNAP_TO_BASE_10:
        f9 = strings.find(digits, "999")
        f0 = strings.find(digits, "000")
        if f9 == 0:
            return "1000000000000000", 1
        elif f9 < f0:
            digits = text(int(digits[:f9]) + 1) + ("0" * (16 - f9))
        else:
            digits = digits[:f0] + ("0" * (16 - f0))
    return digits, 0