rand man page on DigitalUNIX

Man page or keyword search:  
man Server   12896 pages
apropos Keyword Search (all sections)
Output format
DigitalUNIX logo
[printable version]

rand(3)								       rand(3)

       rand, rand_r, srand - Generate pseudorandom numbers

       #include <stdlib.h>

       int rand(
	       void ); int rand_r(
	       unsigned int *seedptr ); void srand(
	       unsigned int seed );

       The  following  function	 does  not conform to current standards and is
       supported only for backward compatibility:

       int rand_r(
	       unsigned int *seedptr,
	       int *randval );

       Standard C Library (libc)

       Berkeley Compatibility Library (libbsd.a)

       Interfaces documented on this reference page conform to industry	 stan‐
       dards as follows:

       rand_r():  POSIX.1c

       rand(), srand():	 XPG4, XPG4-UNIX

       Refer  to  the  standards(5)  reference page for more information about
       industry standards and associated tags.

       Specifies an initial seed value.	 Points to a seed  value,  updated  at
       each call.  Points to a place to store the random number.

       The  rand()  function  returns  successive  pseudorandom numbers in the
       range from 0 (zero) to  RAND_MAX.   The	sequence  of  values  returned
       depends	on the seed value set with the srand() function.  If rand() is
       called before any calls to srand() have been made,  the	same  sequence
       will  be generated as when srand() is first called with a seed value of

       The srand() function resets the random-number  generator	 to  a	random
       starting point. The generator is initially seeded with  a value of 1.

       The  rand()  function  is  a  very simple  random-number generator. Its
       spectral properties, the mathematical  measurement of  how  random  the
       number sequence is, are somewhat weak.

       [POSIX]	The  rand_r()  function is the reentrant version of the rand()
       function.  The rand_r() function places the seed value at  the  address
       pointed to by seedptr,  and returns the random number.

       [Tru64 UNIX]  The obsolete version of the rand_r() function places  the
       seed value at the address pointed to by seedptr, and  places the random
       number at the address pointed to by randval.

       See the drand48() and random() functions for more elaborate random-num‐
       ber generators that have better spectral properties.

       The rand() function is not supported  for  multithreaded	 applications.
       Instead, its reentrant equivalent, rand_r(), should be used with multi‐
       ple threads.

       The BSD version of the rand() function returns a number in the range  0
       to  (2^31)-1,  rather  than 0 to (2^15)-1, and can be used by compiling
       the code with the Berkeley Compatibility Library (libbsd.a).

       There are better random number generators, as noted above; however, the
       rand()  and srand() functions are the interfaces defined for the ANSI C

       The following functions define the semantics of the rand() and  srand()
       functions,  and	are  included  here to facilitate porting applications
       from different implementations:

       static unsigned int next = 1; int myrand(void) {
	       next = next * 1103515245 + 12345;
	       return (	 (next >>16) & RAND_MAX); } void mysrand (unsigned int
       seed) { next = seed }

       The  rand()  function  returns  the  next  pseudorandom	number	in the

       [POSIX]	The rand_r function returns the	 next  random  number  in  the

       [Tru64  UNIX]  Upon  successful completion, the obsolete version of the
       rand_r() function returns  a  value  of	0  (zero).  Otherwise,	-1  is
       returned and errno is set to indicate the error.

       The srand() function returns no value.

       [Tru64  UNIX]  If  the rand_r() function fails, errno may be set to the
       following value: Either seedptr or randval is a null pointer.

       Functions: drand48(3), random(3)

       Standards: standards(5)


List of man pages available for DigitalUNIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net