コード例 #1
0
 def test_box_convolution2(self):
     box = BoxConvolution('CONV-2', [0.4, 0.6])
     box.add(10)
     box.step()
     self.assertEqual(box.input(), 0)
     self.assertEqual(box.size(), 0.6 * 10)
     self.assertEqual(box.output(), 0.4 * 10)
     box.remove(0.4 * 10)
     box.add(20)
     box.step()
     self.assertEqual(box.input(), 0)
     self.assertEqual(box.size(), (0.6 * 10) + 20 - (0.6 * 10) - (0.4 * 20))
     self.assertEqual(box.output(), 0.6 * 10 + 0.4 * 20)
コード例 #2
0
 def test_box_int_convolution2(self):
     box = BoxConvolution('CONV-2', [0.4, 0.6], True)
     box.add(10)
     box.step()
     self.assertEqual(box.input(), 0)
     self.assertEqual(box.size(), int(0.6 * 10))
     self.assertEqual(box.output(), int(0.4 * 10))
     box.remove(int(0.4 * 10))
     box.add(20)
     box.step()
     self.assertEqual(box.input(), 0)
     self.assertEqual(box.size(),
                      int(0.6 * 10) + 20 - int(0.6 * 10) - int(0.4 * 20))
     self.assertEqual(box.output(), int(0.6 * 10) + int(0.4 * 20))
コード例 #3
0
    def test_box_queue_decrease_duration(self):
        box = BoxConvolution('DELAY', [0, 0, 0, 0, 1])
        inputs = [5] * 5 + [0] * 5
        r = [5, 10, 15, 20, 20, 15, 10, 5, 0, 0]
        outputs = [0, 0, 0, 0, 5, 5, 5, 5, 5, 0]
        self.check_input_output(box, inputs, r, outputs)

        inputs = [5] * 5 + [0] * 5
        r = [5, 10, 10, 10, 10, 5, 0, 0, 0, 0]
        outputs = [0, 0, 5, 5, 5, 5, 5, 0, 0, 0]
        for i in range(len(inputs)):
            if i == 2:
                box.set_output_coefficients([0, 0, 1])
            box.add(inputs[i])
            self.assertEqual(box.input(), inputs[i])
            box.step()
            self.assertEqual(box.size(), r[i])
            self.assertEqual(box.output(), outputs[i])
            box.remove(box.output())