Exemplo n.º 1
0
 def test_round_trip(self):
     test_data = [struct.unpack('<d', os.urandom(8))[0]
                  for _ in range(1000)]
     for value in test_data:
         print(value)
         round_tripped = hex_to_double(double_to_hex(value))
         if math.isnan(value):
             assert math.isnan(round_tripped)
         else:
             assert round_tripped == value
Exemplo n.º 2
0
 def test_round_trip(self):
     test_data = [
         struct.unpack('<d', os.urandom(8))[0] for _ in range(1000)
     ]
     for value in test_data:
         print(value)
         round_tripped = hex_to_double(double_to_hex(value))
         if math.isnan(value):
             assert math.isnan(round_tripped)
         else:
             assert round_tripped == value
Exemplo n.º 3
0
 def test_round_trip(self):
     test_data = [
         _pad_to(hex(struct.unpack('<Q', os.urandom(8))[0]), 16)
         for _ in range(1000)]
     # Python 2 uses an L suffix on long integer types, even in hex.
     for value in [v.rstrip('L') for v in test_data]:
         fromhex = hex_to_double(value)
         if math.isnan(fromhex):
             continue
         round_tripped = double_to_hex(fromhex)
         assert round_tripped == value
Exemplo n.º 4
0
 def test_round_trip(self):
     test_data = [
         _pad_to(hex(struct.unpack('<Q', os.urandom(8))[0]), 16)
         for _ in range(1000)
     ]
     # Python 2 uses an L suffix on long integer types, even in hex.
     for value in [v.rstrip('L') for v in test_data]:
         fromhex = hex_to_double(value)
         if math.isnan(fromhex):
             continue
         round_tripped = double_to_hex(fromhex)
         assert round_tripped == value
Exemplo n.º 5
0
 def test_negative_inf(self):
     result = hex_to_double('0xfff0000000000000')
     assert math.isinf(result)
     assert result < 0
Exemplo n.º 6
0
 def test_inf(self):
     result = hex_to_double('0x7ff0000000000000')
     assert math.isinf(result)
     assert result > 0
Exemplo n.º 7
0
 def test_nan(self):
     result = hex_to_double('0x7ff0000000000001')
     assert math.isnan(result)
Exemplo n.º 8
0
 def test_negative_zero(self):
     expected = -0.0
     result = hex_to_double('0x8000000000000000')
     assert result == expected
Exemplo n.º 9
0
 def test_zero(self):
     expected = 0.0
     result = hex_to_double('0x0000000000000000')
     assert result == expected
Exemplo n.º 10
0
 def test_nan(self):
     round_tripped = hex_to_double(double_to_hex(float('nan')))
     assert math.isnan(round_tripped)
Exemplo n.º 11
0
 def test_negative_inf(self):
     result = hex_to_double('0xfff0000000000000')
     assert math.isinf(result)
     assert result < 0
Exemplo n.º 12
0
 def test_inf(self):
     result = hex_to_double('0x7ff0000000000000')
     assert math.isinf(result)
     assert result > 0
Exemplo n.º 13
0
 def test_nan(self):
     result = hex_to_double('0x7ff0000000000001')
     assert math.isnan(result)
Exemplo n.º 14
0
 def test_negative_zero(self):
     expected = -0.0
     result = hex_to_double('0x8000000000000000')
     assert result == expected
Exemplo n.º 15
0
 def test_zero(self):
     expected = 0.0
     result = hex_to_double('0x0000000000000000')
     assert result == expected
Exemplo n.º 16
0
 def test_nan(self):
     round_tripped = hex_to_double(double_to_hex(float('nan')))
     assert math.isnan(round_tripped)