Пример #1
0
 def entropy_single(self, src_vector, expected_entropy, window):
   src = blocks.vector_source_b(src_vector)
   v2s = blocks.vector_to_stream(gr.sizeof_char, 1)
   entropy = qitkat.entropy_bf(window)
   data = blocks.vector_sink_f()
   self.tb.connect(src, v2s)
   self.tb.connect(v2s, entropy)
   self.tb.connect(entropy, data)
   self.tb.run()
   obs = data.data()
   exp = expected_entropy
   for i in range(len(obs)):
     self.assertAlmostEqual(exp, round(obs[i], self.rounddigits), self.precision)
Пример #2
0
 def entropy_joint(self, src_vector0, src_vector1, expected_entropy, window):
   src0 = blocks.vector_source_b(src_vector0)
   src1 = blocks.vector_source_b(src_vector1)
   v2s0 = blocks.vector_to_stream(gr.sizeof_char, 1)
   v2s1 = blocks.vector_to_stream(gr.sizeof_char, 1)
   entropy = qitkat.entropy_bf(window)
   data = blocks.vector_sink_f()
   self.tb.connect(src0, v2s0)
   self.tb.connect(v2s0, (entropy, 0))
   self.tb.connect(src1, v2s1)
   self.tb.connect(v2s1, (entropy, 1))
   self.tb.connect(entropy, data)
   self.tb.run()
   obs = data.data()
   exp = expected_entropy
   for i in range(len(obs)):
     self.assertAlmostEqual(exp,round(obs[i], self.rounddigits), self.precision)