|
From: | Shalabh Jain |
Subject: | Re: [Discuss-gnuradio] make check fails: assertComplexTuplesAlmostEqual |
Date: | Mon, 2 Jan 2012 22:20:00 -0500 |
On Mon, Jan 2, 2012 at 7:34 PM, Shalabh Jain <address@hidden> wrote:Hello,I am having a weird problem during the gnuradio installation. It seems like an issue with treatment of floating point values by the machine. What concerns me is the variability across different runs..
During the make check step, one of the tests throws an error asserting that the complex tuples are not equal. I run the same step 10 times continuously, it passes 5 or 6 times. So my installation is probably ok. Its something to do with the way the machine is handling the storage of decimal values. But I just can't figure it out.Does anybody know of any option I can configure to lock the machine behavior so that the way floats/doubles are stored is consistent.ThanksShalabhWhat version or checkout are you using?
This isn't too surprising given the nature of this block. Essentially, the QA code is asking for a control loop to converge after a specific number of samples, and it looks like it's just on the edge.The variability is something to think about, though. I wonder if the precision of a 32-bit float is off by just enough that it's causing non-repeatable values.The easy thing is to change the number of points of precision to 2 or 3 here, but I'd like to figure out why it's producing different values for you (and if it's related to the bug with the delay buffering).
Thanks for pointing this out!TomFAIL: test01 (__main__.test_fll_band_edge_cc)----------------------------------------------------------------------Traceback (most recent call last):File "./qa_fll_band_edge.py", line 80, in test01self.assertComplexTuplesAlmostEqual (expected_result, dst_data, 4)File "/opt/gnuradio_src/gnuradio-core/src/python/gnuradio/gr_unittest.py", line 71, in assertComplexTuplesAlmostEqualself.assertComplexAlmostEqual (a[i], b[i], places, msg)File "/opt/gnuradio_src/gnuradio-core/src/python/gnuradio/gr_unittest.py", line 44, in assertComplexAlmostEqual(msg or '%s != %s within %s places' % (`first`, `second`, `places` ))AssertionError: -0.20000000000000001 != -0.19991560280323029 within 4 places
On 02/01/12 07:41 PM, Tom Rondeau wrote:Does our QA structure use randomized test vectors, or fixed ones? If
>
>
> The variability is something to think about, though. I wonder if the
> precision of a 32-bit float is off by just enough that it's causing
> non-repeatable values.
>
it's fixed test vectors, then the results
had better darned well be the same every single time!
[Prev in Thread] | Current Thread | [Next in Thread] |