commit-gnuradio
[Top][All Lists]
Advanced

[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 {



reply via email to

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