RANDOM(3) Linux Programmer's Manual RANDOM(3)NAMErandom, srandom, initstate, setstate - random number generatorSYNOPSIS#include<stdlib.h>longintrandom(void);voidsrandom(unsignedintseed);char*initstate(unsignedintseed,char*state,size_tn);char*setstate(char*state);Feature Test Macro Requirements for glibc (see feature_test_macros(7)):random(),srandom(),initstate(),setstate(): _SVID_SOURCE || _BSD_SOURCE || _XOPEN_SOURCE >= 500DESCRIPTIONTherandom() function uses a non-linear additive feedback random number generator employing a default table of size 31 long integers to return successive pseudo-ran- dom numbers in the range from 0 toRAND_MAX. The period of this random number gen- erator is very large, approximately16*((2^31)-1). Thesrandom() function sets its argument as the seed for a new sequence of pseudo- random integers to be returned byrandom(). These sequences are repeatable by callingsrandom() with the same seed value. If no seed value is provided, theran-dom() function is automatically seeded with a value of 1. Theinitstate() function allows a state arraystateto be initialized for use byrandom(). The size of the state arraynis used byinitstate() to decide how sophisticated a random number generator it should use -- the larger the state array, the better the random numbers will be.seedis the seed for the initialization, which specifies a starting point for the random number sequence, and provides for restarting at the same point. Thesetstate() function changes the state array used by therandom() function. The state arraystateis used for random number generation until the next call toinit-state() orsetstate().statemust first have been initialized usinginitstate() or be the result of a previous call ofsetstate().RETURNVALUETherandom() function returns a value between 0 andRAND_MAX. Thesrandom() func- tion returns no value. Theinitstate() andsetstate() functions return a pointer to the previous state array, or NULL on error.ERRORSEINVALA state array of less than 8 bytes was specified toinitstate().CONFORMINGTO4.3BSD, POSIX.1-2001.NOTESCurrent "optimal" values for the size of the state arraynare 8, 32, 64, 128, and 256 bytes; other amounts will be rounded down to the nearest known amount. Using less than 8 bytes will cause an error. This function should not be used in cases where multiple threads userandom() and the behavior should be reproducible. Use random_r(3) for that purpose. Random-number generation is a complex topic.NumericalRecipesinC:TheArtofScientificComputing(William H. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling; New York: Cambridge University Press, 2007, 3rd ed.) pro- vides an excellent discussion of practical random-number generation issues in Chap- ter 7 (Random Numbers). For a more theoretical discussion which also covers many practical issues in depth, see Chapter 3 (Random Numbers) in Donald E. Knuth'sTheArtofComputerProgram-ming, volume 2 (Seminumerical Algorithms), 2nd ed.; Reading, Massachusetts: Addi- son-Wesley Publishing Company, 1981.SEEALSOdrand48(3), rand(3), random_r(3), srand(3)COLOPHONThis page is part of release 3.22 of the Linuxman-pagesproject. A description of the project, and information about reporting bugs, can be found at http://www.ker- nel.org/doc/man-pages/. GNU 2009-02-03 RANDOM(3)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong

On Apache

Under GNU General Public License

2017-12-14 17:06 @127.0.0.1 CrawledBy CCBot/2.0 (http://commoncrawl.org/faq/)