Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Ahmadi__Afshin
Beginner
98 Views

Random Number Generator

Jump to solution

Hello,

 

I am trying to generate a vector of random numbers using the following code. However, every time I execute the code, the output vector is the same as previous run! Can you please help? Thank you in advance. - Afshin

 

    int N = 30;
    double r;
    VSLStreamStatePtr stream;
    int errcode;
    double a=0,sigma=0.5;
   
    /***** Initialize *****/
    errcode = vslNewStream( &stream, VSL_BRNG_MT2203, 10000 );
    printf("err = %i\n",errcode);
    /***** Call RNG *****/
    errcode = vdRngGaussian( VSL_RNG_METHOD_GAUSSIAN_BOXMULLER, stream, N, r, a, sigma );
    printf("err = %i\n",errcode);
    vslDeleteStream(&stream);
 
    for (i=0; i<N; i++){
        printf("r = %f\n",r);
    }

 

0 Kudos
1 Solution
Khang_N_Intel
Employee
98 Views

Hi Afshin,

This result is expected to be the same from run to run.

If you want the result to be different every time, you will need to change the seed value for each run.  You can use the time function to do that.

Hope this helps!

Best Regards,

Khang

View solution in original post

3 Replies
Khang_N_Intel
Employee
99 Views

Hi Afshin,

This result is expected to be the same from run to run.

If you want the result to be different every time, you will need to change the seed value for each run.  You can use the time function to do that.

Hope this helps!

Best Regards,

Khang

View solution in original post

Ahmadi__Afshin
Beginner
98 Views

Thank you, Khang! You always provide best answers.

Khang_N_Intel
Employee
98 Views

Hi Afshin,

We are here to help users make the best out of Intel(r) MKL.

Please do not hesitate to contact us should you have any questions about Intel(R) MKL.

 

Best Regards,

Khang

Reply