def test_30(self): """TestRepCodeFrom68.test_30(): from68(0x3fc00000) -> 0.25 (Defect found during FrameSet testing).""" self.assertEqual(RepCode.from68(0x40000000), 0.0) v = 0x3fc00000 # print() # print('0x{:08x}'.format(v), self.splitBits68(v), RepCode.from68(v)) self.assertEqual(RepCode.from68(v), 0.25)
def test_time_03(self): """TestRepCodeFrom68Time.test_time_03(): tests conversion of 1e6 of same word - RepCode.from68 code.""" i = 0 num = 1e6 tS = time.clock() while i < num: RepCode.from68(0xBBB38000) i += 1 self.writeTimeToStdErr(tS, 68, num)
def test_00(self): """TestRepCodeTo68LowExponent.test_30(): to68(0.0) -> 0x40000000 and to68(0.25) -> 0x3fc00000 (Defect found during FrameSet testing).""" # print() # print('pRepCode.to68(math.ldexp(-1, -128))', '0x{:08x}'.format(pRepCode.to68(math.ldexp(-1, -128)))) # print('pRepCode.to68(math.ldexp(+1, -128))', '0x{:08x}'.format(pRepCode.to68(math.ldexp(1, -128)))) self.assertEqual(RepCode.to68(0.0), 0x40000000) self.assertEqual(RepCode.to68(0.25), 0x3fc00000) self.assertEqual(RepCode.from68(0x40000000), 0.0) # print('0x3fc00000', RepCode.from68(0x3fc00000)) self.assertEqual(RepCode.from68(0x3fc00000), 0.25)
def test_max(self): """TestRepCodeFrom68.test_max(): max by bit stuffing.""" myWord = 0x7FFFFFFF f = RepCode.from68(myWord) #m,e = math.frexp(f) #print #print 'Max:', f #print 'm,e:', m,e #print 'm: shifted 23', m * (1<<23) #print 'm: 1.0 / (1.0 - m)', 1.0 / (1.0 - m) #print ' 2**23', 2**23 #print ' 1<<23', 1<<23 #print('dir(RepCode)') #print(dir(RepCode)) self.assertEqual(RepCode.from68(myWord), RepCode.maxValue(68)) self.assertEqual(cRepCode.from68(myWord), RepCode.maxValue(68)) self.assertEqual(pRepCode.from68(myWord), RepCode.maxValue(68))
def test_04(self): """TestRepCodeTo68LowExponent.test_04(): Special exponent tests, full range.""" for e in range(-150, 128, 1): rcWord = pRepCode.to68(math.ldexp(0.5, e)) self.assertEqual((0.5, e), math.frexp(pRepCode.from68(rcWord))) for e in range(-150, 128, 1): rcWord = cRepCode.to68(math.ldexp(0.5, e)) self.assertEqual((0.5, e), math.frexp(cRepCode.from68(rcWord))) for e in range(-150, 128, 1): rcWord = RepCode.to68(math.ldexp(0.5, e)) self.assertEqual((0.5, e), math.frexp(RepCode.from68(rcWord)))
def test_min(self): """TestRepCodeFrom68.test_min(): min by bit stuffing.""" myWord = 1 myWord <<= 8 myWord |= 1 myWord <<= 23 # 0 exponent myWord = 0x80000000 #print #print RepCode.from68(myWord) self.assertEqual(RepCode.from68(myWord), RepCode.minValue(68)) self.assertEqual(pRepCode.from68(myWord), RepCode.minValue(68)) self.assertEqual(cRepCode.from68(myWord), RepCode.minValue(68))
def test_02_02(self): """TestRepCodeTo68LowExponent.test_02_02(): from68() mantissa depression - RepCode module.""" # print('0x00000001', RepCode.from68(0x00000001)) self.assertEqual((0.5, -150), math.frexp(RepCode.from68(0x00000001))) self.assertEqual((0.5, -149), math.frexp(RepCode.from68(0x00000002))) self.assertEqual((0.5, -148), math.frexp(RepCode.from68(0x00000004))) self.assertEqual((0.5, -147), math.frexp(RepCode.from68(0x00000008))) self.assertEqual((0.5, -146), math.frexp(RepCode.from68(0x00000010))) self.assertEqual((0.5, -145), math.frexp(RepCode.from68(0x00000020))) self.assertEqual((0.5, -144), math.frexp(RepCode.from68(0x00000040))) self.assertEqual((0.5, -143), math.frexp(RepCode.from68(0x00000080))) self.assertEqual((0.5, -142), math.frexp(RepCode.from68(0x00000100))) self.assertEqual((0.5, -141), math.frexp(RepCode.from68(0x00000200))) self.assertEqual((0.5, -140), math.frexp(RepCode.from68(0x00000400))) self.assertEqual((0.5, -139), math.frexp(RepCode.from68(0x00000800))) self.assertEqual((0.5, -138), math.frexp(RepCode.from68(0x00001000))) self.assertEqual((0.5, -137), math.frexp(RepCode.from68(0x00002000))) self.assertEqual((0.5, -136), math.frexp(RepCode.from68(0x00004000))) self.assertEqual((0.5, -135), math.frexp(RepCode.from68(0x00008000))) self.assertEqual((0.5, -134), math.frexp(RepCode.from68(0x00010000))) self.assertEqual((0.5, -133), math.frexp(RepCode.from68(0x00020000))) self.assertEqual((0.5, -132), math.frexp(RepCode.from68(0x00040000))) self.assertEqual((0.5, -131), math.frexp(RepCode.from68(0x00080000))) self.assertEqual((0.5, -130), math.frexp(RepCode.from68(0x00100000))) self.assertEqual((0.5, -129), math.frexp(RepCode.from68(0x00200000))) self.assertEqual((0.5, -128), math.frexp(RepCode.from68(0x00400000)))
def test_04(self): """TestRepCodeFrom68.test_04(): from68(0x40000000) -> 0.0.""" self.assertEqual(RepCode.from68(0x40000000), 0.0)
def test_02(self): """TestRepCodeFrom68.test_02(): from68(0xBBB38000) -> -153.0.""" self.assertEqual(RepCode.from68(0xBBB38000), -153.0)
def test_01(self): """TestRepCodeFrom68.test_01(): from68(0x444C8000) -> 153.0.""" self.assertEqual(RepCode.from68(0x444C8000), 153.0)
def time_RepCode_from(self): RepCode.from68(0x444C8000)