diff options
Diffstat (limited to 'man3/drand48.3')
-rw-r--r-- | man3/drand48.3 | 262 |
1 files changed, 0 insertions, 262 deletions
diff --git a/man3/drand48.3 b/man3/drand48.3 deleted file mode 100644 index 18123b0..0000000 --- a/man3/drand48.3 +++ /dev/null @@ -1,262 +0,0 @@ -'\" t -.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk) -.\" -.\" SPDX-License-Identifier: Linux-man-pages-copyleft -.\" -.\" References consulted: -.\" Linux libc source code -.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991) -.\" 386BSD man pages -.\" Modified Sat Jul 24 19:46:03 1993 by Rik Faith (faith@cs.unc.edu) -.TH drand48 3 2023-10-31 "Linux man-pages 6.7" -.SH NAME -drand48, erand48, lrand48, nrand48, mrand48, jrand48, srand48, seed48, -lcong48 \- generate uniformly distributed pseudo-random numbers -.SH LIBRARY -Standard C library -.RI ( libc ", " \-lc ) -.SH SYNOPSIS -.nf -.B #include <stdlib.h> -.P -.B double drand48(void); -.BI "double erand48(unsigned short " xsubi [3]); -.P -.B long lrand48(void); -.BI "long nrand48(unsigned short " xsubi [3]); -.P -.B long mrand48(void); -.BI "long jrand48(unsigned short " xsubi [3]); -.P -.BI "void srand48(long " seedval ); -.BI "unsigned short *seed48(unsigned short " seed16v [3]); -.BI "void lcong48(unsigned short " param [7]); -.fi -.P -.RS -4 -Feature Test Macro Requirements for glibc (see -.BR feature_test_macros (7)): -.RE -.P -All functions shown above: -.\" .BR drand48 (), -.\" .BR erand48 (), -.\" .BR lrand48 (), -.\" .BR nrand48 (), -.\" .BR mrand48 (), -.\" .BR jrand48 (), -.\" .BR srand48 (), -.\" .BR seed48 (), -.\" .BR lcong48 (): -.nf - _XOPEN_SOURCE - || /* glibc >= 2.19: */ _DEFAULT_SOURCE - || /* glibc <= 2.19: */ _SVID_SOURCE -.fi -.SH DESCRIPTION -These functions generate pseudo-random numbers using the linear congruential -algorithm and 48-bit integer arithmetic. -.P -The -.BR drand48 () -and -.BR erand48 () -functions return nonnegative -double-precision floating-point values uniformly distributed over the interval -[0.0,\ 1.0). -.P -The -.BR lrand48 () -and -.BR nrand48 () -functions return nonnegative -long integers uniformly distributed over the interval [0,\ 2\[ha]31). -.P -The -.BR mrand48 () -and -.BR jrand48 () -functions return signed long -integers uniformly distributed over the interval [\-2\[ha]31,\ 2\[ha]31). -.P -The -.BR srand48 (), -.BR seed48 (), -and -.BR lcong48 () -functions are -initialization functions, one of which should be called before using -.BR drand48 (), -.BR lrand48 (), -or -.BR mrand48 (). -The functions -.BR erand48 (), -.BR nrand48 (), -and -.BR jrand48 () -do not require -an initialization function to be called first. -.P -All the functions work by generating a sequence of 48-bit integers, -.IR Xi , -according to the linear congruential formula: -.P -.in +4n -.EX -.B Xn+1 = (aXn + c) mod m, where n >= 0 -.EE -.in -.P -The parameter -.I m -= 2\[ha]48, hence 48-bit integer arithmetic is performed. -Unless -.BR lcong48 () -is called, -.I a -and -.I c -are given by: -.P -.in +4n -.EX -.B a = 0x5DEECE66D -.B c = 0xB -.EE -.in -.P -The value returned by any of the functions -.BR drand48 (), -.BR erand48 (), -.BR lrand48 (), -.BR nrand48 (), -.BR mrand48 (), -or -.BR jrand48 () -is -computed by first generating the next 48-bit -.I Xi -in the sequence. -Then the appropriate number of bits, according to the type of data item to -be returned, is copied from the high-order bits of -.I Xi -and transformed -into the returned value. -.P -The functions -.BR drand48 (), -.BR lrand48 (), -and -.BR mrand48 () -store -the last 48-bit -.I Xi -generated in an internal buffer. -The functions -.BR erand48 (), -.BR nrand48 (), -and -.BR jrand48 () -require the calling -program to provide storage for the successive -.I Xi -values in the array -argument -.IR xsubi . -The functions are initialized by placing the initial -value of -.I Xi -into the array before calling the function for the first -time. -.P -The initializer function -.BR srand48 () -sets the high order 32-bits of -.I Xi -to the argument -.IR seedval . -The low order 16-bits are set -to the arbitrary value 0x330E. -.P -The initializer function -.BR seed48 () -sets the value of -.I Xi -to -the 48-bit value specified in the array argument -.IR seed16v . -The -previous value of -.I Xi -is copied into an internal buffer and a -pointer to this buffer is returned by -.BR seed48 (). -.P -The initialization function -.BR lcong48 () -allows the user to specify -initial values for -.IR Xi , -.IR a , -and -.IR c . -Array argument -elements -.I param[0\-2] -specify -.IR Xi , -.I param[3\-5] -specify -.IR a , -and -.I param[6] -specifies -.IR c . -After -.BR lcong48 () -has been called, a subsequent call to either -.BR srand48 () -or -.BR seed48 () -will restore the standard values of -.I a -and -.IR c . -.SH ATTRIBUTES -For an explanation of the terms used in this section, see -.BR attributes (7). -.TS -allbox; -lbx lb lb -l l l. -Interface Attribute Value -T{ -.na -.nh -.BR drand48 (), -.BR erand48 (), -.BR lrand48 (), -.BR nrand48 (), -.BR mrand48 (), -.BR jrand48 (), -.BR srand48 (), -.BR seed48 (), -.BR lcong48 () -T} Thread safety T{ -.na -.nh -MT-Unsafe race:drand48 -T} -.TE -.P -The above -functions record global state information for the random number generator, -so they are not thread-safe. -.SH STANDARDS -POSIX.1-2008. -.SH HISTORY -POSIX.1-2001, SVr4. -.SH SEE ALSO -.BR rand (3), -.BR random (3) |