commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r4109 - in gnuradio/trunk/gnuradio-core/src: lib/gener


From: trondeau
Subject: [Commit-gnuradio] r4109 - in gnuradio/trunk/gnuradio-core/src: lib/general python/gnuradio/gr
Date: Sat, 16 Dec 2006 18:40:33 -0700 (MST)

Author: trondeau
Date: 2006-12-16 18:40:33 -0700 (Sat, 16 Dec 2006)
New Revision: 4109

Modified:
   gnuradio/trunk/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc
   gnuradio/trunk/gnuradio-core/src/python/gnuradio/gr/qa_complex_to_xxx.py
Log:
changed complex_to_arg to use fast atan and updated QA

Modified: gnuradio/trunk/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc
===================================================================
--- gnuradio/trunk/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc   
2006-12-17 01:39:44 UTC (rev 4108)
+++ gnuradio/trunk/gnuradio-core/src/lib/general/gr_complex_to_xxx.cc   
2006-12-17 01:40:33 UTC (rev 4109)
@@ -26,6 +26,7 @@
 
 #include <gr_complex_to_xxx.h>
 #include <gr_io_signature.h>
+#include <gr_math.h>
 
 // ----------------------------------------------------------------
 
@@ -226,7 +227,8 @@
   int noi = noutput_items * d_vlen;
 
   for (int i = 0; i < noi; i++){
-    out[i] = std::arg (in[i]);
+    //    out[i] = std::arg (in[i]);
+    out[i] = gr_fast_atan2f(in[i]);
   }
   return noutput_items;
 }

Modified: 
gnuradio/trunk/gnuradio-core/src/python/gnuradio/gr/qa_complex_to_xxx.py
===================================================================
--- gnuradio/trunk/gnuradio-core/src/python/gnuradio/gr/qa_complex_to_xxx.py    
2006-12-17 01:39:44 UTC (rev 4108)
+++ gnuradio/trunk/gnuradio-core/src/python/gnuradio/gr/qa_complex_to_xxx.py    
2006-12-17 01:40:33 UTC (rev 4109)
@@ -110,9 +110,22 @@
 
     def test_complex_to_arg (self):
         pi = math.pi
-        expected_result = (0, pi/6, pi/4, pi/2, 3*pi/4, 7*pi/8,
-                           -pi/6, -pi/4, -pi/2, -3*pi/4, -7*pi/8)
-        src_data = tuple ([math.cos (x) + math.sin (x) * 1j for x in 
expected_result])
+        input_data = (0, pi/6, pi/4, pi/2, 3*pi/4, 7*pi/8,
+                      -pi/6, -pi/4, -pi/2, -3*pi/4, -7*pi/8)
+
+        expected_result = (0.0,                  # 0
+                           0.52382522821426392,  # pi/6
+                           0.78539806604385376,  # pi/4
+                           1.5707963705062866,   # pi/2
+                           2.3561947345733643,   # 3pi/4
+                           2.7491819858551025,   # 7pi/8
+                           -0.52382522821426392, # -pi/6
+                           -0.78539806604385376, # -pi/4
+                           -1.5707963705062866,  # -pi/2
+                           -2.3561947345733643,  # -3pi/4
+                           -2.7491819858551025)  # -7pi/8
+
+        src_data = tuple ([math.cos (x) + math.sin (x) * 1j for x in 
input_data])
         src = gr.vector_source_c (src_data)
         op = gr.complex_to_arg ()
         dst = gr.vector_sink_f ()
@@ -120,6 +133,7 @@
         self.fg.connect (op, dst)
         self.fg.run ()
         actual_result = dst.data ()
+
         self.assertFloatTuplesAlmostEqual (expected_result, actual_result, 5)
 
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]