summaryrefslogtreecommitdiff
path: root/gnuradio-runtime/lib/math/qa_fast_atan2f.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gnuradio-runtime/lib/math/qa_fast_atan2f.cc')
-rw-r--r--gnuradio-runtime/lib/math/qa_fast_atan2f.cc184
1 files changed, 93 insertions, 91 deletions
diff --git a/gnuradio-runtime/lib/math/qa_fast_atan2f.cc b/gnuradio-runtime/lib/math/qa_fast_atan2f.cc
index 423a8bc415..fe41ba7e06 100644
--- a/gnuradio-runtime/lib/math/qa_fast_atan2f.cc
+++ b/gnuradio-runtime/lib/math/qa_fast_atan2f.cc
@@ -35,98 +35,100 @@
#define ISNAN std::isnan
#endif
-BOOST_AUTO_TEST_CASE(t1) {
- static const unsigned int N = 100;
- float c_atan2;
- float gr_atan2f;
-
- for(float i = -N/2; i < N/2; i++) {
- for(float j =-N/2; i < N/2; i++) {
- float x = i/10.0;
- float y = j/10.0;
- c_atan2 = atan2(y, x);
-
- gr_atan2f = gr::fast_atan2f(y, x);
-
- BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
+BOOST_AUTO_TEST_CASE(t1)
+{
+ static const unsigned int N = 100;
+ float c_atan2;
+ float gr_atan2f;
+
+ for (float i = -N / 2; i < N / 2; i++) {
+ for (float j = -N / 2; i < N / 2; i++) {
+ float x = i / 10.0;
+ float y = j / 10.0;
+ c_atan2 = atan2(y, x);
+
+ gr_atan2f = gr::fast_atan2f(y, x);
+
+ BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
+ }
}
- }
}
-BOOST_AUTO_TEST_CASE(t2) {
- float c_atan2;
- float gr_atan2f;
- float x, y;
-
- float inf = std::numeric_limits<float>::infinity();
- float nan = std::numeric_limits<float>::quiet_NaN();
-
- /* Test x as INF */
- x = inf;
- y = 0;
- c_atan2 = atan2(y, x);
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
-
- x = -inf;
- y = 0;
- c_atan2 = atan2(y, x);
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
-
-
- /* Test y as INF */
- x = 0;
- y = inf;
- c_atan2 = atan2(y, x);
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
-
- x = 0;
- y = -inf;
- c_atan2 = atan2(y, x);
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
-
-
- /* Test x and y as INF */
- x = inf;
- y = inf;
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK(ISNAN(gr_atan2f));
-
-
- /* Test x as NAN */
- x = nan;
- y = 0;
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK_CLOSE(0.0f, gr_atan2f, 0.0001);
-
- x = -nan;
- y = 0;
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK_CLOSE(0.0f, gr_atan2f, 0.0001);
-
-
- /* Test y as NAN */
- x = 0;
- y = nan;
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK_CLOSE(0.0f, gr_atan2f, 0.0001);
-
- x = 0;
- y = -nan;
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK_CLOSE(0.0f, gr_atan2f, 0.0001);
-
- /* Test mixed NAN and INF */
- x = inf;
- y = nan;
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK(ISNAN(gr_atan2f));
-
- x = nan;
- y = inf;
- gr_atan2f = gr::fast_atan2f(y, x);
- BOOST_CHECK(ISNAN(gr_atan2f));
+BOOST_AUTO_TEST_CASE(t2)
+{
+ float c_atan2;
+ float gr_atan2f;
+ float x, y;
+
+ float inf = std::numeric_limits<float>::infinity();
+ float nan = std::numeric_limits<float>::quiet_NaN();
+
+ /* Test x as INF */
+ x = inf;
+ y = 0;
+ c_atan2 = atan2(y, x);
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
+
+ x = -inf;
+ y = 0;
+ c_atan2 = atan2(y, x);
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
+
+
+ /* Test y as INF */
+ x = 0;
+ y = inf;
+ c_atan2 = atan2(y, x);
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
+
+ x = 0;
+ y = -inf;
+ c_atan2 = atan2(y, x);
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK_CLOSE(c_atan2, gr_atan2f, 0.0);
+
+
+ /* Test x and y as INF */
+ x = inf;
+ y = inf;
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK(ISNAN(gr_atan2f));
+
+
+ /* Test x as NAN */
+ x = nan;
+ y = 0;
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK_CLOSE(0.0f, gr_atan2f, 0.0001);
+
+ x = -nan;
+ y = 0;
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK_CLOSE(0.0f, gr_atan2f, 0.0001);
+
+
+ /* Test y as NAN */
+ x = 0;
+ y = nan;
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK_CLOSE(0.0f, gr_atan2f, 0.0001);
+
+ x = 0;
+ y = -nan;
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK_CLOSE(0.0f, gr_atan2f, 0.0001);
+
+ /* Test mixed NAN and INF */
+ x = inf;
+ y = nan;
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK(ISNAN(gr_atan2f));
+
+ x = nan;
+ y = inf;
+ gr_atan2f = gr::fast_atan2f(y, x);
+ BOOST_CHECK(ISNAN(gr_atan2f));
}