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

Table of contents


NAME

vurcwf_r, vurcw_r, vurcwl_r, vurcww_r, vurcwq_r, vurcwll_r, vurcwdf_r, vurcwd_r, vurcwdl_r, vurcwdll_r - 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 vurcwf_r (randcw_state_t state, int n, float u[]);

extern void vurcw_r (randcw_state_t state, int n, double u[]);

extern void vurcwl_r (randcw_state_t state, int n, long double u[]);

extern void vurcww_r (randcw_state_t state, int n, __float80 u[]);

extern void vurcwq_r (randcw_state_t state, int n, __float128 u[]);

extern void vurcwll_r (randcw_state_t state, int n, long_long_double u[]);

extern void vurcwdf_r (randcw_state_t state, int n, decimal_float u[]);

extern void vurcwd_r (randcw_state_t state, int n, decimal_double u[]);

extern void vurcwdl_r (randcw_state_t state, int n, decimal_long_double u[]);

extern void vurcwdll_r (randcw_state_t state, 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).

This function is equivalent to vurcw4_r(3CW).

The generator state is keep externally in the state argument, a vector of four UINT_LEAST32_T values, most conveniently initialized with incw_r(). This makes the functions thread safe, and allows creation of a practically-unlimited number of independent families of generators, each with its own state.

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(3CW), vurcw1_r(3CW), vurcw2(3CW), vurcw2_r(3CW), vurcw3(3CW), vurcw3_r(3CW), vurcw4(3CW), vurcw4_r(3CW).