[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Commit-gnuradio] [gnuradio] 03/03: Add config check for Xrand48() funct
From: |
git |
Subject: |
[Commit-gnuradio] [gnuradio] 03/03: Add config check for Xrand48() functions |
Date: |
Fri, 11 Nov 2016 21:19:05 +0000 (UTC) |
This is an automated email from the git hooks/post-receive script.
jcorgan pushed a commit to branch maint
in repository gnuradio.
commit fd3227859623f8f2a294ce1b8c38489eb1415eea
Author: Paul Cercueil <address@hidden>
Date: Wed Nov 9 11:40:17 2016 +0100
Add config check for Xrand48() functions
This fixes some compile errors under MinGW, which does not provide those
functions.
Signed-off-by: Paul Cercueil <address@hidden>
---
cmake/msvc/config.h | 3 ---
gr-analog/lib/fastnoise_source_X_impl.cc.t | 4 ++--
gr-blocks/lib/ConfigChecks.cmake | 7 +++++++
gr-blocks/lib/test_tag_variable_rate_ff_impl.cc | 12 ++++++++++++
4 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/cmake/msvc/config.h b/cmake/msvc/config.h
index db0088e..d3daed1 100644
--- a/cmake/msvc/config.h
+++ b/cmake/msvc/config.h
@@ -61,7 +61,4 @@ static inline float rintf(float x){return (x > 0.0f)?
floorf(x + 0.5f) : ceilf(x
static inline long int random (void) { return rand(); }
static inline void srandom (unsigned int seed) { srand(seed); }
-#define srand48(seed) srand(seed)
-#define drand48() (double(rand()) / RAND_MAX)
-
#endif // _MSC_CONFIG_H_ ]
diff --git a/gr-analog/lib/fastnoise_source_X_impl.cc.t
b/gr-analog/lib/fastnoise_source_X_impl.cc.t
index 21f963b..940918b 100644
--- a/gr-analog/lib/fastnoise_source_X_impl.cc.t
+++ b/gr-analog/lib/fastnoise_source_X_impl.cc.t
@@ -144,7 +144,7 @@ namespace gr {
@TYPE@ @IMPL_NAME@::sample()
{
-#ifdef __USE_GNU
+#ifdef HAVE_RAND48
size_t idx = lrand48() % d_samples.size();
#else
size_t idx = rand() % d_samples.size();
@@ -153,7 +153,7 @@ namespace gr {
}
#ifndef FASTNOISE_RANDOM_SIGN
-#ifdef _MSC_VER
+#ifndef HAVE_RAND48
#define FASTNOISE_RANDOM_SIGN ((rand()%2==0)?1:-1)
#else
#define FASTNOISE_RANDOM_SIGN ((lrand48()%2==0)?1:-1)
diff --git a/gr-blocks/lib/ConfigChecks.cmake b/gr-blocks/lib/ConfigChecks.cmake
index 1effaa8..222a221 100644
--- a/gr-blocks/lib/ConfigChecks.cmake
+++ b/gr-blocks/lib/ConfigChecks.cmake
@@ -89,3 +89,10 @@ CHECK_CXX_SOURCE_COMPILES("
" HAVE_COSF
)
GR_ADD_COND_DEF(HAVE_COSF)
+
+CHECK_CXX_SOURCE_COMPILES("
+ #include <stdlib.h>
+ int main(){srand48(0); drand48(); lrand48(); return 0;}
+ " HAVE_RAND48
+)
+GR_ADD_COND_DEF(HAVE_RAND48)
diff --git a/gr-blocks/lib/test_tag_variable_rate_ff_impl.cc
b/gr-blocks/lib/test_tag_variable_rate_ff_impl.cc
index 4927cc1..ec239c9 100644
--- a/gr-blocks/lib/test_tag_variable_rate_ff_impl.cc
+++ b/gr-blocks/lib/test_tag_variable_rate_ff_impl.cc
@@ -57,7 +57,11 @@ namespace gr {
d_new_in = 0;
d_last_out = 0;
+#ifdef HAVE_RAND48
srand48(time(NULL));
+#else
+ srand(time(NULL));
+#endif
}
test_tag_variable_rate_ff_impl::~test_tag_variable_rate_ff_impl()
@@ -78,7 +82,11 @@ namespace gr {
GR_LOG_DEBUG(d_logger, boost::format("noutput_items: %1%") %
noutput_items);
if(d_update_once) {
+#ifdef HAVE_RAND48
if(drand48() > 0.5) {
+#else
+ if (rand() > RAND_MAX / 2) {
+#endif
d_rrate += d_update_step;
}
else {
@@ -95,7 +103,11 @@ namespace gr {
while(i < ninput_items[0]) {
if(!d_update_once) {
+#ifdef HAVE_RAND48
if(drand48() > 0.5) {
+#else
+ if (rand() > RAND_MAX / 2) {
+#endif
d_rrate += d_update_step;
}
else {