Exemplo n.º 1
0
def test_issue_14_v0_3_7():
    # d = Fxp('0b000.00000000000000000001011101010110101011101010101010101010101010101010101010101001010101010101010101001010101001010101010101010',
    #         True, n_word=128, n_frac=125, rounding='around')
    # assert d.bin(frac_dot=True) == '000.00000000000000000001011101010110101011101010101010101010101010101010101010101001010101010101010101001010101001010101010101010'

    d = Fxp(
        '0b00000000000000000000001011101010110101011101010101010101010101010101010101010101001010101010101010101001010101001010101010101010',
        True,
        n_word=128,
        n_frac=125,
        rounding='around',
        raw=True)
    assert d.bin(
    ) == '00000000000000000000001011101010110101011101010101010101010101010101010101010101001010101010101010101001010101001010101010101010'
Exemplo n.º 2
0
def test_base_representations():
    x = Fxp(0.0, True, 8, 4)

    # decimal positive
    x(2.5)
    assert x.bin() == '00101000'
    assert x.hex() == '0x28'
    assert x.base_repr(2) == '101000'
    assert x.base_repr(16) == '28'

    # decimal negative
    x(-7.25)
    assert x.bin() == '10001100'
    assert x.bin(frac_dot=True) == '1000.1100'
    assert x.hex() == '0x8c'
    assert x.base_repr(2) == '-1110100'
    assert x.base_repr(2, frac_dot=True) == '-111.0100'
    assert x.base_repr(16) == '-74'

    # complex
    x(1.5 + 1j * 0.75)
    assert x.bin() == '00011000+00001100j'
    assert x.hex() == '0x18+0xcj'
    assert x.base_repr(2) == '11000+1100j'
    assert x.base_repr(16) == '18+Cj'

    x(1.5 - 1j * 0.75)
    assert x.bin() == '00011000+11110100j'
    assert x.hex() == '0x18+0xf4j'
    assert x.base_repr(2) == '11000-1100j'
    assert x.base_repr(16) == '18-Cj'

    x(-1.5 + 1j * 0.75)
    assert x.bin() == '11101000+00001100j'
    assert x.hex() == '0xe8+0xcj'
    assert x.base_repr(2) == '-11000+1100j'
    assert x.base_repr(16) == '-18+Cj'
Exemplo n.º 3
0
def test_base_representations():
    x = Fxp(0.0, True, 8, 4)

    # decimal positive
    x(2.5)
    assert x.bin() == '00101000'
    assert x.hex() == '0x28'
    assert x.hex(padding=False) == '0x28'
    assert x.base_repr(2) == '101000'
    assert x.base_repr(16) == '28'

    # decimal negative
    x(-7.25)
    assert x.bin() == '10001100'
    assert x.bin(frac_dot=True) == '1000.1100'
    assert x.hex() == '0x8C'
    assert x.hex(padding=False) == '0x8C'
    assert x.base_repr(2) == '-1110100'
    assert x.base_repr(2, frac_dot=True) == '-111.0100'
    assert x.base_repr(16) == '-74'

    # complex
    x(1.5 + 1j * 0.75)
    assert x.bin() == '00011000+00001100j'
    assert x.hex() == '0x18+0x0Cj'
    assert x.hex(padding=False) == '0x18+0xCj'
    assert x.base_repr(2) == '11000+1100j'
    assert x.base_repr(16) == '18+Cj'

    x(1.5 - 1j * 0.75)
    assert x.bin() == '00011000+11110100j'
    assert x.hex() == '0x18+0xF4j'
    assert x.hex(padding=False) == '0x18+0xF4j'
    assert x.base_repr(2) == '11000-1100j'
    assert x.base_repr(16) == '18-Cj'

    x(-1.5 + 1j * 0.75)
    assert x.bin() == '11101000+00001100j'
    assert x.hex() == '0xE8+0x0Cj'
    assert x.hex(padding=False) == '0xE8+0xCj'
    assert x.base_repr(2) == '-11000+1100j'
    assert x.base_repr(16) == '-18+Cj'

    # padding
    x = Fxp(3.125, True, 31, 5)
    y = Fxp(-3.125, True, 31, 5)

    assert x.hex() == '0x00000064'
    assert y.hex() == '0x7FFFFF9C'

    x = Fxp(3.125, True, 32, 5)
    y = Fxp(-3.125, True, 32, 5)

    assert x.hex() == '0x00000064'
    assert y.hex() == '0xFFFFFF9C'

    x = Fxp(3.125, True, 33, 5)
    y = Fxp(-3.125, True, 33, 5)

    assert x.hex() == '0x000000064'
    assert y.hex() == '0x1FFFFFF9C'