Categories:
.NET (357)
C (330)
C++ (183)
CSS (84)
DBA (2)
General (7)
HTML (4)
Java (574)
JavaScript (106)
JSP (66)
Oracle (114)
Perl (46)
Perl (1)
PHP (1)
PL/SQL (1)
RSS (51)
Software QA (13)
SQL Server (1)
Windows (1)
XHTML (173)
Other Resources:
I need a random number generator.
I need a random number generator.
✍: Guest
The Standard C library has one: rand. The implementation on your system may not be perfect, but writing a better one isn't necessarily easy, either.
Here is a portable C implementation of the ``minimal standard'' generator :
#define a 16807
#define m 2147483647
#define q (m / a)
#define r (m % a)
static long int seed = 1;
long int PMrand()
{
long int hi = seed / q;
long int lo = seed % q;
long int test = a * lo - r * hi;
if(test > 0)
seed = test;
else seed = test + m;
return seed;
}
(The ``minimal standard'' is adequately good; it is something ``against which all others should be judged''; it is recommended for use ``unless one has access to a random number generator known to be better.'')
This code implements the generator
X <- (aX + c) mod m
for a = 16807, m = 2147483647 (which is 2**31-1), and c = 0. The multiplication is carried out using a technique described by Schrage, ensuring that the intermediate result aX does not overflow. The implementation above returns long int values in the range [1, 2147483646]; that is, it corresponds to C's rand with a RAND_MAX of 2147483646, except that it never returns 0. To alter it to return floating-point numbers in the range (0, 1), change the declaration to
double PMrand()
and the last line to
return (double)seed / m;
For slightly better statistical properties, now recommend using a = 48271.
2015-08-03, 2078👍, 0💬
Popular Posts:
How to create arrays in JavaScript? We can declare an array like this var scripts = new Array(); We ...
How To Enter a New Row into a Table Interactively? - Oracle DBA FAQ - Introduction to Oracle SQL Dev...
What is Concern in AOP? gA concern is a particular goal, concept, or area of interesth There are m...
it will be very helpful if you send some important Questions with Answers of DBMS Tell us what types...
How To Set session.gc_divisor Properly? - PHP Script Tips - Understanding and Using Sessions As you ...