[project @ 2004-10-27 15:47:23 by ross]
authorross <unknown>
Wed, 27 Oct 2004 15:47:23 +0000 (15:47 +0000)
committerross <unknown>
Wed, 27 Oct 2004 15:47:23 +0000 (15:47 +0000)
adjustments to doc comments

System/Random.hs

index dd6e9ed..f9762df 100644 (file)
@@ -84,14 +84,9 @@ The library is split into two layers:
 a random number generator. For example, the 'Float' instance of 'Random'
 allows one to generate random values of type 'Float'.
 
 a random number generator. For example, the 'Float' instance of 'Random'
 allows one to generate random values of type 'Float'.
 
-[Comment found in this file when merging with Library Report:]
-
-The June 1988 (v31 \#6) issue of the Communications of the ACM has an
-article by Pierre L'Ecuyer called, /Efficient and Portable Combined
-Random Number Generators/.  Here is the Portable Combined Generator of
-L'Ecuyer for 32-bit computers.  It has a period of roughly 2.30584e18.
-
-Transliterator: Lennart Augustsson
+This implementation uses the Portable Combined Generator of L'Ecuyer
+["System.Random\#LEcuyer"] for 32-bit computers, transliterated by
+Lennart Augustsson.  It has a period of roughly 2.30584e18.
 
 -}
 
 
 -}
 
@@ -100,16 +95,17 @@ Transliterator: Lennart Augustsson
 
 class RandomGen g where
 
 
 class RandomGen g where
 
-   -- |The 'next' operation allows one to extract at least 30 bits (one 'Int''s
-   -- worth) from the generator, returning a new generator as well.  The
-   -- integer returned may be positive or negative.
+   -- |The 'next' operation returns an 'Int' that is uniformly distributed
+   -- in the range returned by 'genRange' (including both end points),
+   -- and a new generator.
    next     :: g -> (Int, g)
 
    -- |The 'split' operation allows one to obtain two distinct random number
    -- generators. This is very useful in functional programs (for example, when
    -- passing a random number generator down to recursive calls), but very
    -- little work has been done on statistically robust implementations of
    next     :: g -> (Int, g)
 
    -- |The 'split' operation allows one to obtain two distinct random number
    -- generators. This is very useful in functional programs (for example, when
    -- passing a random number generator down to recursive calls), but very
    -- little work has been done on statistically robust implementations of
-   -- 'split' ([1,4] are the only examples we know of).
+   -- 'split' (["System.Random\#Burton", "System.Random\#Hellekalek"]
+   -- are the only examples we know of).
    split    :: g -> (g, g)
 
    -- |The 'genRange' operation yields the range of values returned by
    split    :: g -> (g, g)
 
    -- |The 'genRange' operation yields the range of values returned by
@@ -144,7 +140,7 @@ Until more is known about implementations of 'split', all we require is
 that 'split' deliver generators that are (a) not identical and
 (b) independently robust in the sense just given.
 
 that 'split' deliver generators that are (a) not identical and
 (b) independently robust in the sense just given.
 
-The 'Show'\/'Read' instances of 'StdGen' provide a primitive way to save the
+The 'Show' and 'Read' instances of 'StdGen' provide a primitive way to save the
 state of a random number generator.
 It is required that @'read' ('show' g) == g@.
 
 state of a random number generator.
 It is required that @'read' ('show' g) == g@.
 
@@ -427,7 +423,7 @@ getStdRandom f = do
 
 {- $references
 
 
 {- $references
 
-1. FW Burton and RL Page, /Distributed random number generation/,
+1. FW #Burton# Burton and RL Page, /Distributed random number generation/,
 Journal of Functional Programming, 2(2):203-212, April 1992.
 
 2. SK #Park# Park, and KW Miller, /Random number generators -
 Journal of Functional Programming, 2(2):203-212, April 1992.
 
 2. SK #Park# Park, and KW Miller, /Random number generators -
@@ -436,10 +432,13 @@ good ones are hard to find/, Comm ACM 31(10), Oct 1988, pp1192-1201.
 3. DG #Carta# Carta, /Two fast implementations of the minimal standard
 random number generator/, Comm ACM, 33(1), Jan 1990, pp87-88.
 
 3. DG #Carta# Carta, /Two fast implementations of the minimal standard
 random number generator/, Comm ACM, 33(1), Jan 1990, pp87-88.
 
-4. P Hellekalek, /Don\'t trust parallel Monte Carlo/,
+4. P #Hellekalek# Hellekalek, /Don\'t trust parallel Monte Carlo/,
 Department of Mathematics, University of Salzburg,
 <http://random.mat.sbg.ac.at/~peter/pads98.ps>, 1998.
 
 Department of Mathematics, University of Salzburg,
 <http://random.mat.sbg.ac.at/~peter/pads98.ps>, 1998.
 
+5. Pierre #LEcuyer# L'Ecuyer, /Efficient and portable combined random
+number generators/, Comm ACM, 31(6), Jun 1988, pp742-749.
+
 The Web site <http://random.mat.sbg.ac.at/> is a great source of information.
 
 -}
 The Web site <http://random.mat.sbg.ac.at/> is a great source of information.
 
 -}