VURCW1 3CW "20 March 2008" "mathcw-1.00"

Table of contents


NAME

vurcw1f, vurcw1, vurcw1l, vurcw1w, vurcw1q, vurcw1ll, vurcw1df, vurcw1d, vurcw1dl, vurcw1dll - vector of pseudorandom numbers in [0,1]

SYNOPSIS

cc [ flags ] -I/usr/local/include file(s) -L/usr/local/lib -lmcw [ ... ]

#include <mathcw.h>

extern void vurcw1f (int n, float u[]);

extern void vurcw1 (int n, double u[]);

extern void vurcw1l (int n, long double u[]);

extern void vurcw1w (int n, __float80 u[]);

extern void vurcw1q (int n, __float128 u[]);

extern void vurcw1ll (int n, long_long_double u[]);

extern void vurcw1df (int n, decimal_float u[]);

extern void vurcw1d (int n, decimal_double u[]);

extern void vurcw1dl (int n, decimal_long_double u[]);

extern void vurcw1dll (int n, decimal_long_long_double u[]);

NB: Functions with prototypes containing underscores in type names may be available only with certain extended compilers.


DESCRIPTION

Return a vector of n pseudorandom numbers uniformly distributed on [0,1] (that is, 0 <= u[k] <= 1).

The generator state is kept internally to simplify the user interface. However, this is not safe in multithreaded programs. For them, use the reentrant generator routines instead, identified by the suffix _r. The reentrant routines also make possible families of independent generators within the same program.

The generator is Marsaglia's KISS generator, which has a long period of about 2**123 (approximately 10**37), and has passed several difficult tests of randomness, including Marsaglia's Diehard Battery test suite, and the Marsaglia/Tsang tuftest suite.

The double functions sample the 32-bit integer generator twice, the long double functions sample it four times, and the long long double functions sample it eight times,

When precision permits, the decimal floating-point functions use the corresponding binary generator, and then convert that result to decimal. Otherwise, they convert several samples of the integer generator to decimal floating-point with suitable scaling.


RETURN VALUES

Vector u[] of pseudorandom numbers.

ERRORS

None.

SEE ALSO

ercw(3CW), ercw_r(3CW), gscw(3CW), incw_r(3CW), llrancw(3CW), llrancw_r(3CW), llrincw(3CW), llrincw_r(3CW), lrancw(3CW), lrancw_r(3CW), lrcw(3CW), lrcw_r(3CW), lrincw(3CW), lrincw_r(3CW), mscw(3CW), nrcw(3CW), nrcw_r(3CW), sccw(3CW), sscw(3CW), urcw(3CW), urcw1(3CW), urcw1_r(3CW), urcw2(3CW), urcw2_r(3CW), urcw3(3CW), urcw3_r(3CW), urcw4(3CW), urcw4_r(3CW), urcw_r(3CW), vercw(3CW), vercw_r(3CW), vllrancw(3CW), vllrancw_r(3CW), vllrincw(3CW), vllrincw_r(3CW), vlrancw(3CW), vlrancw_r(3CW), vlrcw(3CW), vlrcw_r(3CW), vlrincw(3CW), vlrincw_r(3CW), vnrcw(3CW), vnrcw_r(3CW), vurcw(3CW), vurcw1_r(3CW), vurcw2(3CW), vurcw2_r(3CW), vurcw3(3CW), vurcw3_r(3CW), vurcw4(3CW), vurcw4_r(3CW), vurcw_r(3CW).