]> git.saurik.com Git - apple/libc.git/blobdiff - gen/FreeBSD/rand48.3
Libc-1353.11.2.tar.gz
[apple/libc.git] / gen / FreeBSD / rand48.3
index 59bab77fc7c34811b3b9ce25cea9870b3ffdb3a5..6bc96d6c5c8e0556b8ec4252927c360ff26fe022 100644 (file)
@@ -10,7 +10,7 @@
 .\" to anyone/anything when using this software.
 .\"
 .\"     @(#)rand48.3 V1.0 MB 8 Oct 1993
 .\" to anyone/anything when using this software.
 .\"
 .\"     @(#)rand48.3 V1.0 MB 8 Oct 1993
-.\" $FreeBSD: src/lib/libc/gen/rand48.3,v 1.15 2002/12/19 09:40:21 ru Exp $
+.\" $FreeBSD: src/lib/libc/gen/rand48.3,v 1.17 2005/01/20 09:17:02 ru Exp $
 .\"
 .Dd October 8, 1993
 .Dt RAND48 3
 .\"
 .Dd October 8, 1993
 .Dt RAND48 3
 .Sh NAME
 .Nm drand48 ,
 .Nm erand48 ,
 .Sh NAME
 .Nm drand48 ,
 .Nm erand48 ,
+.Nm jrand48 ,
+.Nm lcong48 ,
 .Nm lrand48 ,
 .Nm lrand48 ,
-.Nm nrand48 ,
 .Nm mrand48 ,
 .Nm mrand48 ,
-.Nm jrand48 ,
-.Nm srand48 ,
+.Nm nrand48 ,
 .Nm seed48 ,
 .Nm seed48 ,
-.Nm lcong48
+.Nm srand48
 .Nd pseudo random number generators and initialization routines
 .Sh LIBRARY
 .Lb libc
 .Sh SYNOPSIS
 .In stdlib.h
 .Ft double
 .Nd pseudo random number generators and initialization routines
 .Sh LIBRARY
 .Lb libc
 .Sh SYNOPSIS
 .In stdlib.h
 .Ft double
-.Fn drand48 void
+.Fo drand48
+.Fa void
+.Fc
 .Ft double
 .Ft double
-.Fn erand48 "unsigned short xseed[3]"
+.Fo erand48
+.Fa "unsigned short xsubi[3]"
+.Fc
 .Ft long
 .Ft long
-.Fn lrand48 void
+.Fo jrand48
+.Fa "unsigned short xsubi[3]"
+.Fc
+.Ft void
+.Fo lcong48
+.Fa "unsigned short param[7]"
+.Fc
 .Ft long
 .Ft long
-.Fn nrand48 "unsigned short xseed[3]"
+.Fo lrand48
+.Fa void
+.Fc
 .Ft long
 .Ft long
-.Fn mrand48 void
+.Fo mrand48
+.Fa void
+.Fc
 .Ft long
 .Ft long
-.Fn jrand48 "unsigned short xseed[3]"
-.Ft void
-.Fn srand48 "long seed"
+.Fo nrand48
+.Fa "unsigned short xsubi[3]"
+.Fc
 .Ft "unsigned short *"
 .Ft "unsigned short *"
-.Fn seed48 "unsigned short xseed[3]"
+.Fo seed48
+.Fa "unsigned short seed16v[3]"
+.Fc
 .Ft void
 .Ft void
-.Fn lcong48 "unsigned short p[7]"
+.Fo srand48
+.Fa "long seedval"
+.Fc
 .Sh DESCRIPTION
 The
 .Fn rand48
 .Sh DESCRIPTION
 The
 .Fn rand48
-family of functions generates pseudo-random numbers using a linear
+family of functions generates pseudo-random numbers, using a linear
 congruential algorithm working on integers 48 bits in size.
 The
 particular formula employed is
 congruential algorithm working on integers 48 bits in size.
 The
 particular formula employed is
-r(n+1) = (a * r(n) + c) mod m
-where the default values are
-for the multiplicand a = 0xfdeece66d = 25214903917 and
-the addend c = 0xb = 11.
+r(n+1) = (a * r(n) + c) mod m.
+The default value for the multiplicand `a' is 0x5deece66d (25214903917).
+The default value for the the addend `c' is 0xb (11).
 The modulo is always fixed at m = 2 ** 48.
 r(n) is called the seed of the random number generator.
 .Pp
 The modulo is always fixed at m = 2 ** 48.
 r(n) is called the seed of the random number generator.
 .Pp
-For all the six generator routines described next, the first
+For the six generator routines described next, the first
 computational step is to perform a single iteration of the algorithm.
 .Pp
 The
 computational step is to perform a single iteration of the algorithm.
 .Pp
 The
@@ -81,7 +98,8 @@ and
 .Fn nrand48
 functions
 return values of type long in the range
 .Fn nrand48
 functions
 return values of type long in the range
-[0, 2**31-1]. The high-order (31) bits of
+[0, 2**31-1].
+The high-order (31) bits of
 r(n+1) are loaded into the lower bits of the returned value, with
 the topmost (sign) bit set to zero.
 .Pp
 r(n+1) are loaded into the lower bits of the returned value, with
 the topmost (sign) bit set to zero.
 .Pp
@@ -91,7 +109,8 @@ and
 .Fn jrand48
 functions
 return values of type long in the range
 .Fn jrand48
 functions
 return values of type long in the range
-[-2**31, 2**31-1]. The high-order (32) bits of
+[-2**31, 2**31-1].
+The high-order (32) bits of
 r(n+1) are loaded into the returned value.
 .Pp
 The
 r(n+1) are loaded into the returned value.
 .Pp
 The
@@ -100,7 +119,8 @@ The
 and
 .Fn mrand48
 functions
 and
 .Fn mrand48
 functions
-use an internal buffer to store r(n). For these functions
+use an internal buffer to store r(n).
+For these functions
 the initial value of r(0) = 0x1234abcd330e = 20017429951246.
 .Pp
 On the other hand,
 the initial value of r(0) = 0x1234abcd330e = 20017429951246.
 .Pp
 On the other hand,
@@ -121,7 +141,7 @@ is used to initialize the internal buffer r(n) of
 .Fn drand48 ,
 .Fn lrand48 ,
 and
 .Fn drand48 ,
 .Fn lrand48 ,
 and
-.Fn mrand48
+.Fn mrand48 ,
 such that the 32 bits of the seed value are copied into the upper 32 bits
 of r(n), with the lower 16 bits of r(n) arbitrarily being set to 0x330e.
 Additionally, the constant multiplicand and addend of the algorithm are
 such that the 32 bits of the seed value are copied into the upper 32 bits
 of r(n), with the lower 16 bits of r(n) arbitrarily being set to 0x330e.
 Additionally, the constant multiplicand and addend of the algorithm are
@@ -144,7 +164,7 @@ The
 .Fn seed48
 function
 returns a pointer to an array of 3 shorts which contains the old seed.
 .Fn seed48
 function
 returns a pointer to an array of 3 shorts which contains the old seed.
-This array is statically allocated, thus its contents are lost after
+This array is statically allocated; thus, its contents are lost after
 each new call to
 .Fn seed48 .
 .Pp
 each new call to
 .Fn seed48 .
 .Pp
@@ -174,8 +194,8 @@ generator calls.
 .Pp
 For a more powerful random number generator, see
 .Xr random 3 .
 .Pp
 For a more powerful random number generator, see
 .Xr random 3 .
-.Sh AUTHORS
-.An Martin Birgmeier
 .Sh SEE ALSO
 .Xr rand 3 ,
 .Xr random 3
 .Sh SEE ALSO
 .Xr rand 3 ,
 .Xr random 3
+.Sh AUTHORS
+.An Martin Birgmeier