From 9af57b2e2c369298cda3153678307b4dee467f53 Mon Sep 17 00:00:00 2001
From: Derek Kozel <derek.kozel@ettus.com>
Date: Mon, 26 Sep 2016 17:02:47 -0700
Subject: Fixed floating point rounding error in converter tests

Integer rounding was producing out of range values and causing tests to
fail
---
 host/tests/convert_test.cpp | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

(limited to 'host/tests/convert_test.cpp')

diff --git a/host/tests/convert_test.cpp b/host/tests/convert_test.cpp
index 8d359d2e2..84e7480a6 100644
--- a/host/tests/convert_test.cpp
+++ b/host/tests/convert_test.cpp
@@ -76,8 +76,8 @@ static void test_convert_types_sc16(
     //fill the input samples
     std::vector<sc16_t> input(nsamps), output(nsamps);
     BOOST_FOREACH(sc16_t &in, input) in = sc16_t(
-        short(((std::rand()/double(RAND_MAX/2)) - 1)*32767/extra_div),
-        short(((std::rand()/double(RAND_MAX/2)) - 1)*32767/extra_div)
+        short((float((std::rand())/(double(RAND_MAX)/2)) - 1)*32767/extra_div),
+        short((float((std::rand())/(double(RAND_MAX)/2)) - 1)*32767/extra_div)
     );
 
     //run the loopback and test
@@ -127,8 +127,8 @@ static void test_convert_types_for_floats(
     //fill the input samples
     std::vector<data_type> input(nsamps), output(nsamps);
     BOOST_FOREACH(data_type &in, input) in = data_type(
-        ((std::rand()/value_type(RAND_MAX/2)) - 1)*float(extra_scale),
-        ((std::rand()/value_type(RAND_MAX/2)) - 1)*float(extra_scale)
+        ((std::rand()/(value_type(RAND_MAX)/2)) - 1)*float(extra_scale),
+        ((std::rand()/(value_type(RAND_MAX)/2)) - 1)*float(extra_scale)
     );
 
     //run the loopback and test
-- 
cgit v1.2.3