def test_equality_normalizable_subnormal(self): p = IBMFloat(bytes((0x10, 0x04, 0x00, 0x00))) assert p.is_subnormal() q = IBMFloat(bytes((0x10, 0x05, 0x00, 0x00))) assert q.is_subnormal() assert p != q
def test_small_subnormals_are_not_equal(self): p = IBMFloat(bytes((0x00, 0x00, 0x00, 0x01))) q = IBMFloat(bytes((0x00, 0x00, 0x00, 0x02))) assert p != q
def test_subnormals_rhs_are_not_equal_to_one(self): p = IBMFloat.from_float(1.0) q = IBMFloat(bytes((0x00, 0x00, 0x00, 0x01))) assert p != q
def test_one_equal(self): buffer = b'\x41\x10\x00\x00' p = IBMFloat(buffer) q = IBMFloat(buffer) assert p == q
def test_smallest_subnormal_is_equal(self): buffer = bytes((0x00, 0x00, 0x00, 0x01)) p = IBMFloat(buffer) q = IBMFloat(buffer) assert p == q
def test_negative_half_equal(self): buffer = bytes((0b01000000, 0x80, 0x00, 0x00)) p = IBMFloat(buffer) q = IBMFloat(buffer) assert p == q
def test_subnormal_equal(self, a): buffer = bytes([a, 0, 0, 0]) p = IBMFloat(buffer) q = IBMFloat(buffer) assert p == q
def test_zero_equal(self): buffer = bytes([0, 0, 0, 0]) p = IBMFloat(buffer) q = IBMFloat(buffer) assert p == q
def test_is_subnormal(self, a): buffer = bytes([a, 0, 0, 0]) ibm = IBMFloat(buffer) assert ibm.is_subnormal()
def test_normalize_zero(self): zero = IBMFloat(bytes((0x32, 0x00, 0x00, 0x00))) assert zero.is_subnormal() nzero = zero.normalize() assert bytes(nzero) == bytes((0x00, 0x00, 0x00, 0x00))