def test_fixpoint_mul(self): micro_steps = 10 for i in xrange(-180, 180): for i_ratio in xrange(micro_steps): f_1 = float(i) + float(i_ratio) / float(micro_steps) fx_1 = fixpoint.float2fix(f_1) for k in xrange(-180, 180): for k_ratio in xrange(micro_steps): f_2 = float(k) + float(k_ratio) / float(micro_steps) fx_2 = fixpoint.float2fix(f_2) f_mul = f_1 * f_2 fx_mul = fixpoint.mul(fx_1, fx_2) f_mul_2 = fixpoint.fix2float(fx_mul) self.assertAlmostEqual(f_mul, f_mul_2, places=2)
def test_fixpoint_floats(self): micro_steps = 100 for i in xrange(-32768, 32768): for i_ratio in xrange(micro_steps): f_1 = float(i) + float(i_ratio) / float(micro_steps) fx_1 = fixpoint.float2fix(f_1) f_2 = fixpoint.fix2float(fx_1) self.assertAlmostEqual(f_1, f_2, places=2)