|
|
|
@ -1,5 +1,5 @@ |
|
|
|
|
/*
|
|
|
|
|
* Mersenne Twister Random Algorithm |
|
|
|
|
* Mersenne Twister PRNG algorithm |
|
|
|
|
* Copyright (c) 2006 Ryan Martell |
|
|
|
|
* Based on a C program for MT19937, with initialization improved 2002/1/26. |
|
|
|
|
* Coded by Takuji Nishimura and Makoto Matsumoto. |
|
|
|
@ -44,8 +44,8 @@ void av_random_generate_untempered_numbers(AVRandomState *state); ///< Regenerat |
|
|
|
|
/**
|
|
|
|
|
* Generates a random number from the interval [0,0xffffffff]. |
|
|
|
|
* |
|
|
|
|
* Please do NOT use the Mersenne Twister, it is slow. Use the random generator |
|
|
|
|
* from lfg.c/h or a simple LCG like state= state*1664525+1013904223. |
|
|
|
|
* Please do NOT use the Mersenne Twister, it is slow. Use the random number |
|
|
|
|
* generator from lfg.c/h or a simple LCG like state = state*1664525+1013904223. |
|
|
|
|
* If you still choose to use MT, expect that you will have to provide |
|
|
|
|
* some evidence that it makes a difference for the case where you use it. |
|
|
|
|
*/ |
|
|
|
@ -69,7 +69,7 @@ static inline unsigned int av_random(AVRandomState *state) |
|
|
|
|
return y; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** Return random in range [0-1] as double. */ |
|
|
|
|
/** Returns a random number in the range [0-1] as double. */ |
|
|
|
|
static inline double av_random_real1(AVRandomState *state) |
|
|
|
|
{ |
|
|
|
|
/* divided by 2^32-1 */ |
|
|
|
|