def test_resize(): f = Sfix(0.123, 0, -8) fr = f.resize(0, -12) assert float(fr) == float(f) # increasing size has no effect assert fr != f # makes new object assert fr.left == 0 assert fr.right == -12 fr = f.resize(0, -6, round_style='round') assert float(fr) == 0.125 fr = f.resize(0, -3, round_style='round') assert float(fr) == 0.125 fr = f.resize(0, -2) assert float(fr) == 0.0
def test_non_unit_resize(): pytest.skip() a = Sfix(0.8, -1, -12) assert a.val == 0.499755859375 a = Sfix(1.5, 1, -12) b = a.resize(-1, -12) assert b.val == 0.499755859375