예제 #1
0
def byte_arrays_of_floats(draw):
    num_items = draw(st.integers(min_value=0, max_value=10))
    floats = draw(st.lists(ibm_compatible_floats(),
                           min_size=num_items,
                           max_size=num_items))
    byte_data = b''.join([ieee2ibm(f) for f in floats])
    return (byte_data, num_items)
예제 #2
0
def byte_arrays_of_floats(draw):
    num_items = draw(st.integers(min_value=0, max_value=10))
    floats = draw(
        st.lists(ibm_compatible_floats(),
                 min_size=num_items,
                 max_size=num_items))
    byte_data = b''.join([ieee2ibm(f) for f in floats])
    return (byte_data, num_items)
예제 #3
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_zero(self):
     self.assertEqual(ieee2ibm(0.0), b'\0\0\0\0')
예제 #4
0
 def test_zero(self):
     ibm_start = b'\0\0\0\0'
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     assert ibm_start == ibm_result
예제 #5
0
 def test_one(self):
     assert ieee2ibm(1.0) == b'\x41\x10\x00\x00'
예제 #6
0
 def test_one(self):
     assert ieee2ibm(1.0) == b'\x41\x10\x00\x00'
예제 #7
0
 def test_smallest_subnormal(self):
     assert ieee2ibm(5.147557589468029e-85) == bytes((0x00, 0x00, 0x00, 0x01))
예제 #8
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_subnormal(self):
     self.assertEqual(ieee2ibm(1.6472184286297693e-83), bytes((0x00, 0x00, 0x00, 0x20)))
예제 #9
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_inf(self):
     with self.assertRaises(ValueError):
         ieee2ibm(float('inf'))
예제 #10
0
 def test_zero(self):
     ibm_start = b'\0\0\0\0'
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     assert ibm_start == ibm_result
예제 #11
0
 def test_positive_half(self):
     ibm_start = bytes((0b11000000, 0x80, 0x00, 0x00))
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     assert ibm_start == ibm_result
예제 #12
0
 def test_too_large(self):
     with pytest.raises(OverflowError):
         ieee2ibm(MAX_IBM_FLOAT * 10)
예제 #13
0
 def test_too_small(self):
     with pytest.raises(OverflowError):
         ieee2ibm(MIN_IBM_FLOAT * 10)
예제 #14
0
 def test_inf(self):
     with pytest.raises(ValueError):
         ieee2ibm(float('inf'))
예제 #15
0
 def test_nan(self):
     with pytest.raises(ValueError):
         ieee2ibm(float('nan'))
예제 #16
0
 def test_too_small_subnormal(self):
     with pytest.raises(FloatingPointError):
         ieee2ibm(1e-86)
예제 #17
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_negative_half(self):
     self.assertEqual(ieee2ibm(0.5), bytes((0b01000000, 0x80, 0x00, 0x00)))
예제 #18
0
 def test_one(self):
     ibm_start = b'\x41\x10\x00\x00'
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     assert ibm_start == ibm_result
예제 #19
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_negative_118_625(self):
     # Example taken from Wikipedia http://en.wikipedia.org/wiki/IBM_Floating_Point_Architecture
     self.assertEqual(ieee2ibm(-118.625), bytes((0b11000010, 0b01110110, 0b10100000, 0b00000000)))
예제 #20
0
 def test_subnormal(self):
     ibm_start = bytes((0x00, 0x00, 0x00, 0x20))
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     assert ibm_start == ibm_result
예제 #21
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_too_small_subnormal(self):
     with self.assertRaises(FloatingPointError):
         ieee2ibm(1e-86)
예제 #22
0
 def test_nan(self):
     with self.assertRaises(ValueError):
         ieee2ibm(float('nan'))
예제 #23
0
 def test_positive_half(self):
     assert ieee2ibm(-0.5) == bytes((0b11000000, 0x80, 0x00, 0x00))
예제 #24
0
 def test_inf(self):
     with self.assertRaises(ValueError):
         ieee2ibm(float('inf'))
예제 #25
0
 def test_0_1(self):
     # Note, this is different from the Wikipedia example, because the Wikipedia example does
     # round to nearest, and our routine does round to zero
     assert ieee2ibm(0.1) == bytes(
         (0b01000000, 0b00011001, 0b10011001, 0b10011001))
예제 #26
0
 def test_too_large(self):
     with self.assertRaises(OverflowError):
         ieee2ibm(MAX_IBM_FLOAT * 10)
예제 #27
0
 def test_too_large(self):
     with pytest.raises(OverflowError):
         ieee2ibm(MAX_IBM_FLOAT * 10)
예제 #28
0
 def test_too_small(self):
     with self.assertRaises(OverflowError):
         ieee2ibm(MIN_IBM_FLOAT * 10)
예제 #29
0
 def test_one(self):
     ibm_start = b'\x41\x10\x00\x00'
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     assert ibm_start == ibm_result
예제 #30
0
 def test_zero(self):
     ibm_start = b'\0\0\0\0'
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     self.assertEqual(ibm_start, ibm_result)
예제 #31
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_subnormal(self):
     ibm_start = bytes((0x00, 0x00, 0x00, 0x20))
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     self.assertEqual(ibm_start, ibm_result)
예제 #32
0
 def test_positive_half(self):
     ibm_start = bytes((0b11000000, 0x80, 0x00, 0x00))
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     self.assertEqual(ibm_start, ibm_result)
예제 #33
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_positive_half(self):
     self.assertEqual(ieee2ibm(-0.5), bytes((0b11000000, 0x80, 0x00, 0x00)))
예제 #34
0
 def test_one(self):
     ibm_start = b'\x41\x10\x00\x00'
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     self.assertEqual(ibm_start, ibm_result)
예제 #35
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_one(self):
     self.assertEqual(ieee2ibm(1.0), b'\x41\x10\x00\x00')
예제 #36
0
 def test_subnormal(self):
     ibm_start = bytes((0x00, 0x00, 0x00, 0x20))
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     self.assertEqual(ibm_start, ibm_result)
예제 #37
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_0_1(self):
     # Note, this is different from the Wikipedia example, because the Wikipedia example does
     # round to nearest, and our routine does round to zero
     self.assertEqual(ieee2ibm(0.1), bytes((0b01000000, 0b00011001, 0b10011001, 0b10011001)))
예제 #38
0
 def test_zero(self):
     self.assertEqual(ieee2ibm(0.0), b'\0\0\0\0')
예제 #39
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_smallest_subnormal(self):
     self.assertEqual(ieee2ibm(5.147557589468029e-85), bytes((0x00, 0x00, 0x00, 0x01)))
예제 #40
0
 def test_positive_half(self):
     self.assertEqual(ieee2ibm(-0.5), bytes((0b11000000, 0x80, 0x00, 0x00)))
예제 #41
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_nan(self):
     with self.assertRaises(ValueError):
         ieee2ibm(float('nan'))
예제 #42
0
 def test_negative_half(self):
     self.assertEqual(ieee2ibm(0.5), bytes((0b01000000, 0x80, 0x00, 0x00)))
예제 #43
0
 def test_zero(self):
     assert ieee2ibm(0.0) == b'\0\0\0\0'
예제 #44
0
 def test_one(self):
     self.assertEqual(ieee2ibm(1.0), b'\x41\x10\x00\x00')
예제 #45
0
 def test_negative_half(self):
     assert ieee2ibm(0.5) == bytes((0b01000000, 0x80, 0x00, 0x00))
예제 #46
0
 def test_smallest_subnormal(self):
     assert ieee2ibm(5.147557589468029e-85) == bytes(
         (0x00, 0x00, 0x00, 0x01))
예제 #47
0
 def test_negative_118_625(self):
     # Example taken from Wikipedia http://en.wikipedia.org/wiki/IBM_Floating_Point_Architecture
     assert ieee2ibm(-118.625) == bytes(
         (0b11000010, 0b01110110, 0b10100000, 0b00000000))
예제 #48
0
 def test_nan(self):
     with pytest.raises(ValueError):
         ieee2ibm(float('nan'))
예제 #49
0
 def test_subnormal(self):
     assert ieee2ibm(1.6472184286297693e-83) == bytes(
         (0x00, 0x00, 0x00, 0x20))
예제 #50
0
 def test_subnormal(self):
     assert ieee2ibm(1.6472184286297693e-83) == bytes((0x00, 0x00, 0x00, 0x20))
예제 #51
0
 def test_too_small_subnormal(self):
     with pytest.raises(FloatingPointError):
         ieee2ibm(1e-86)
예제 #52
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_too_large(self):
     with self.assertRaises(OverflowError):
         ieee2ibm(MAX_IBM_FLOAT * 10)
예제 #53
0
 def test_inf(self):
     with pytest.raises(ValueError):
         ieee2ibm(float('inf'))
예제 #54
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_too_small(self):
     with self.assertRaises(OverflowError):
         ieee2ibm(MIN_IBM_FLOAT * 10)
예제 #55
0
 def test_too_small(self):
     with pytest.raises(OverflowError):
         ieee2ibm(MIN_IBM_FLOAT * 10)
예제 #56
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_zero(self):
     ibm_start = b'\0\0\0\0'
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     self.assertEqual(ibm_start, ibm_result)
예제 #57
0
 def test_negative_half(self):
     ibm_start = bytes((0b01000000, 0x80, 0x00, 0x00))
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     assert ibm_start == ibm_result
예제 #58
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_negative_half(self):
     ibm_start = bytes((0b01000000, 0x80, 0x00, 0x00))
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     self.assertEqual(ibm_start, ibm_result)
예제 #59
0
 def test_subnormal(self):
     ibm_start = bytes((0x00, 0x00, 0x00, 0x20))
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     assert ibm_start == ibm_result
예제 #60
0
파일: test_float.py 프로젝트: hohogpb/segpy
 def test_one(self):
     ibm_start = b'\x41\x10\x00\x00'
     f = ibm2ieee(ibm_start)
     ibm_result = ieee2ibm(f)
     self.assertEqual(ibm_start, ibm_result)