|
|
BSD 4.3
/*
* Copyright (c) 1980 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* @(#)random_.c 5.2 6/7/85
*
* Routines to return random values
*
* calling sequence:
* double precision d, drandm
* i = irandm(iflag)
* x = random(iflag)
* d = drandm(iflag)
* where:
* If arg is nonzero, generator is restarted and value is returned.
* If arg is 0, next value is returned.
* Integer values will range from 0 thru 2147483647 (see random(3)).
* Real values will range from 0.0 thru 1.0 .
*/
#if vax
#define RANDMAX 2147483647
#else vax
UNKNOWN MACHINE!
#endif vax
long irandm_(iarg)
long *iarg;
{
if (*iarg) srandom((int)*iarg);
return( random() );
}
float random_(iarg)
long *iarg;
{
if (*iarg) srandom((int)*iarg);
return( (float)(random())/(float)RANDMAX );
}
double drandm_(iarg)
long *iarg;
{
if (*iarg) srandom((int)*iarg);
return( (double)(random())/(double)RANDMAX );
}
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.