summaryrefslogtreecommitdiffstats
path: root/man3/random.3
diff options
context:
space:
mode:
Diffstat (limited to 'man3/random.3')
-rw-r--r--man3/random.3196
1 files changed, 0 insertions, 196 deletions
diff --git a/man3/random.3 b/man3/random.3
deleted file mode 100644
index 94f146a13..000000000
--- a/man3/random.3
+++ /dev/null
@@ -1,196 +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 Sun Mar 28 00:25:51 1993, David Metcalfe
-.\" Modified Sat Jul 24 18:13:39 1993 by Rik Faith (faith@cs.unc.edu)
-.\" Modified Sun Aug 20 21:47:07 2000, aeb
-.\"
-.TH random 3 (date) "Linux man-pages (unreleased)"
-.SH NAME
-random, srandom, initstate, setstate \- random number generator
-.SH LIBRARY
-Standard C library
-.RI ( libc ", " \-lc )
-.SH SYNOPSIS
-.nf
-.B #include <stdlib.h>
-.PP
-.B long random(void);
-.BI "void srandom(unsigned int " seed );
-.PP
-.BI "char *initstate(unsigned int " seed ", char " state [. n "], size_t " n );
-.BI "char *setstate(char *" state );
-.fi
-.PP
-.RS -4
-Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
-.RE
-.PP
-.BR random (),
-.BR srandom (),
-.BR initstate (),
-.BR setstate ():
-.nf
- _XOPEN_SOURCE >= 500
-.\" || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
- || /* glibc >= 2.19: */ _DEFAULT_SOURCE
- || /* glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
-.fi
-.SH DESCRIPTION
-The
-.BR random ()
-function uses a nonlinear additive feedback random
-number generator employing a default table of size 31 long integers to
-return successive pseudo-random numbers in
-the range from 0 to 2\[ha]31\ \-\ 1.
-The period of this random number generator is very large, approximately
-.IR "16\ *\ ((2\[ha]31)\ \-\ 1)" .
-.PP
-The
-.BR srandom ()
-function sets its argument as the seed for a new
-sequence of pseudo-random integers to be returned by
-.BR random ().
-These sequences are repeatable by calling
-.BR srandom ()
-with the same
-seed value.
-If no seed value is provided, the
-.BR random ()
-function
-is automatically seeded with a value of 1.
-.PP
-The
-.BR initstate ()
-function allows a state array \fIstate\fP to
-be initialized for use by
-.BR random ().
-The size of the state array
-\fIn\fP is used by
-.BR initstate ()
-to decide how sophisticated a
-random number generator it should use\[em]the larger the state array,
-the better the random numbers will be.
-Current "optimal" values for the size of the state array \fIn\fP are
-8, 32, 64, 128, and 256 bytes; other amounts will be rounded down to
-the nearest known amount.
-Using less than 8 bytes results in an error.
-\fIseed\fP is the seed for the
-initialization, which specifies a starting point for the random number
-sequence, and provides for restarting at the same point.
-.PP
-The
-.BR setstate ()
-function changes the state array used by the
-.BR random ()
-function.
-The state array \fIstate\fP is used for
-random number generation until the next call to
-.BR initstate ()
-or
-.BR setstate ().
-\fIstate\fP must first have been initialized
-using
-.BR initstate ()
-or be the result of a previous call of
-.BR setstate ().
-.SH RETURN VALUE
-The
-.BR random ()
-function returns a value between 0 and
-.IR "(2\[ha]31)\ \-\ 1" .
-The
-.BR srandom ()
-function returns no value.
-.PP
-The
-.BR initstate ()
-function returns a pointer to the previous state array.
-On failure, it returns NULL, and
-.I errno
-is set to indicate the error.
-.PP
-On success,
-.BR setstate ()
-returns a pointer to the previous state array.
-On failure, it returns NULL, and
-.I errno
-is set to indicate the error.
-.SH ERRORS
-.TP
-.B EINVAL
-The
-.I state
-argument given to
-.BR setstate ()
-was NULL.
-.TP
-.B EINVAL
-A state array of less than 8 bytes was specified to
-.BR initstate ().
-.SH ATTRIBUTES
-For an explanation of the terms used in this section, see
-.BR attributes (7).
-.ad l
-.nh
-.TS
-allbox;
-lbx lb lb
-l l l.
-Interface Attribute Value
-T{
-.BR random (),
-.BR srandom (),
-.BR initstate (),
-.BR setstate ()
-T} Thread safety MT-Safe
-.TE
-.hy
-.ad
-.sp 1
-.SH STANDARDS
-POSIX.1-2008.
-.SH HISTORY
-POSIX.1-2001, 4.3BSD.
-.SH NOTES
-Random-number generation is a complex topic.
-.I Numerical Recipes in C: The Art of Scientific Computing
-(William H.\& Press, Brian P.\& Flannery, Saul A.\& Teukolsky,
-William T.\& Vetterling; New York: Cambridge University Press, 2007, 3rd ed.)
-provides an excellent discussion of practical random-number generation
-issues in Chapter 7 (Random Numbers).
-.PP
-For a more theoretical discussion which also covers many practical issues
-in depth, see Chapter 3 (Random Numbers) in Donald E.\& Knuth's
-.IR "The Art of Computer Programming" ,
-volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, Massachusetts:
-Addison-Wesley Publishing Company, 1981.
-.SH CAVEATS
-The
-.BR random ()
-function should not be used in multithreaded programs
-where reproducible behavior is required.
-Use
-.BR random_r (3)
-for that purpose.
-.SH BUGS
-According to POSIX,
-.BR initstate ()
-should return NULL on error.
-In the glibc implementation,
-.I errno
-is (as specified) set on error, but the function does not return NULL.
-.\" http://sourceware.org/bugzilla/show_bug.cgi?id=15380
-.SH SEE ALSO
-.BR getrandom (2),
-.BR drand48 (3),
-.BR rand (3),
-.BR random_r (3),
-.BR srand (3)