]> git.saurik.com Git - apple/libc.git/blobdiff - gen/FreeBSD/rand48.3.patch
Libc-498.tar.gz
[apple/libc.git] / gen / FreeBSD / rand48.3.patch
diff --git a/gen/FreeBSD/rand48.3.patch b/gen/FreeBSD/rand48.3.patch
new file mode 100644 (file)
index 0000000..7b06dd0
--- /dev/null
@@ -0,0 +1,109 @@
+--- _SB/Libc/gen/FreeBSD/rand48.3      2004-11-25 11:38:01.000000000 -0800
++++ _SB/Libc/gen/FreeBSD/rand48.3.edit 2006-06-28 16:55:51.000000000 -0700
+@@ -18,51 +18,68 @@
+ .Sh NAME
+ .Nm drand48 ,
+ .Nm erand48 ,
++.Nm jrand48 ,
++.Nm lcong48 ,
+ .Nm lrand48 ,
+-.Nm nrand48 ,
+ .Nm mrand48 ,
+-.Nm jrand48 ,
+-.Nm srand48 ,
++.Nm nrand48 ,
+ .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
+-.Fn drand48 void
++.Fo drand48
++.Fa void
++.Fc
+ .Ft double
+-.Fn erand48 "unsigned short xseed[3]"
++.Fo erand48
++.Fa "unsigned short xsubi[3]"
++.Fc
+ .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
+-.Fn nrand48 "unsigned short xseed[3]"
++.Fo lrand48
++.Fa void
++.Fc
+ .Ft long
+-.Fn mrand48 void
++.Fo mrand48
++.Fa void
++.Fc
+ .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 *"
+-.Fn seed48 "unsigned short xseed[3]"
++.Fo seed48
++.Fa "unsigned short seed16v[3]"
++.Fc
+ .Ft void
+-.Fn lcong48 "unsigned short p[7]"
++.Fo srand48
++.Fa "long seedval"
++.Fc
+ .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
+-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 0xfdeece66d (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
+-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
+@@ -124,7 +141,7 @@
+ .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
+@@ -147,7 +164,7 @@
+ .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