discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] random number problem


From: CEL
Subject: Re: [Discuss-gnuradio] random number problem
Date: Thu, 24 May 2018 09:56:44 +0000

Hi! 

Don't use random.h's `random()` in GNU Radio. It's not thread-safe and
mustn't be used in multithreaded applications, and GNU Radio is
inherently multithreaded.

> So I tried to use srand(time(0))

That is **explicitly** a way to get a different sequence every time, so
this is very counter-productive. Have you read `srand`'s and `time`'s
manual pages at all?

Since you're probably using a C++ compiler that has C++11 support,
simply use 

#include <random> // NOT random.h
 
int main()
{
    int seed = 42; // constant that defines the sequence we're getting
    std::mt19937 rng(seed); //default mersenne_twister_engine 
    std::uniform_real_distribution<> uni(0.0, 1.0);
    for (int n = 0; n < 10; ++n) {
        double uniform_number = uni(rng);
    }
}

Best regards,
Marcus

#On Thu, 2018-05-24 at 18:17 +0900, 김무연 wrote:
>  Hi all!
> Could I ask something?
> I want to generate random numbers
> So when I make a block, I included random.h and I used random() function
> But every time it produces the same output
> And I want to use this blocks twice in the gnuradio
> So I tried to use srand(time(0))
> But it didn't work
> My question is this are there any method to do the same role of 
> srand(time(0)) when I create a block in gnuradio?
> Thanks 
> 
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Attachment: smime.p7s
Description: S/MIME cryptographic signature


reply via email to

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