def test_rail_002(self): lo = -0.75 hi = 0.90 src_data = [-2, -1, -0.5, -0.25, 0, 0.25, 0.5, 1, 2] expected_result = map(lambda x: clip(x, lo, hi), src_data) src = gr.vector_source_f(src_data) op = analog.rail_ff(lo, hi) dst = gr.vector_sink_f() self.tb.connect(src, op) self.tb.connect(op, dst) self.tb.run() result_data = dst.data() self.assertFloatTuplesAlmostEqual(expected_result, result_data, 4)
def test_001_(self): src_data = numpy.array([-1.0, 1.0, -1.0, 1.0]) trg_data = src_data * 0.5 src = blocks.vector_source_f(src_data) dst = blocks.vector_sink_f() rail = analog.rail_ff(-0.5, 0.5) self.tb.connect(src, rail) self.tb.connect(rail, dst) self.tb.run() rsl_data = dst.data() sum = 0 for (u, v) in zip(trg_data, rsl_data): w = u - v sum += w * w sum /= float(len(trg_data)) assert sum < 1e-6
def test_rail_001(self): # Test set/gets hi1 = 1 hi2 = 2 lo1 = -1 lo2 = -2 op = analog.rail_ff(lo1, hi1) op.set_hi(hi2) h = op.hi() self.assertEqual(hi2, h) op.set_lo(lo2) l = op.lo() self.assertEqual(lo2, l)