Index: lemon/random.h
===================================================================
--- lemon/random.h	(revision 440)
+++ lemon/random.h	(revision 482)
@@ -3,5 +3,5 @@
  * This file is a part of LEMON, a generic C++ optimization library.
  *
- * Copyright (C) 2003-2009
+ * Copyright (C) 2003-2008
  * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
  * (Egervary Research Group on Combinatorial Optimization, EGRES).
@@ -78,5 +78,5 @@
 #include <unistd.h>
 #else
-#include <windows.h>
+#include <lemon/bits/windows.h>
 #endif
 
@@ -541,4 +541,8 @@
     /// @{
 
+    ///\name Initialization
+    ///
+    /// @{
+
     /// \brief Default constructor
     ///
@@ -663,7 +667,5 @@
       seed(getpid() + tv.tv_sec + tv.tv_usec);
 #else
-      FILETIME time;
-      GetSystemTimeAsFileTime(&time);
-      seed(GetCurrentProcessId() + time.dwHighDateTime + time.dwLowDateTime);
+      seed(bits::getWinRndSeed());
 #endif
       return true;
@@ -688,4 +690,10 @@
       return real<double>();
     }
+
+    /// @}
+
+    ///\name Uniform distributions
+    ///
+    /// @{
 
     /// \brief Returns a random real number from the range [0, 1)
@@ -743,4 +751,6 @@
       return _random_bits::IntConversion<Number, Word>::convert(core);
     }
+
+    /// @}
 
     unsigned int uinteger() {
@@ -777,7 +787,8 @@
     ///\name Non-uniform distributions
     ///
+
     ///@{
 
-    /// \brief Returns a random bool with given probability of true result.
+    /// \brief Returns a random bool
     ///
     /// It returns a random bool with given probability of true result.
@@ -786,7 +797,7 @@
     }
 
-    /// Standard normal (Gauss) distribution
-
-    /// Standard normal (Gauss) distribution.
+    /// Standard Gauss distribution
+
+    /// Standard Gauss distribution.
     /// \note The Cartesian form of the Box-Muller
     /// transformation is used to generate a random normal distribution.
@@ -801,51 +812,11 @@
       return std::sqrt(-2*std::log(S)/S)*V1;
     }
-    /// Normal (Gauss) distribution with given mean and standard deviation
-
-    /// Normal (Gauss) distribution with given mean and standard deviation.
+    /// Gauss distribution with given mean and standard deviation
+
+    /// Gauss distribution with given mean and standard deviation.
     /// \sa gauss()
     double gauss(double mean,double std_dev)
     {
       return gauss()*std_dev+mean;
-    }
-
-    /// Lognormal distribution
-
-    /// Lognormal distribution. The parameters are the mean and the standard
-    /// deviation of <tt>exp(X)</tt>.
-    ///
-    double lognormal(double n_mean,double n_std_dev)
-    {
-      return std::exp(gauss(n_mean,n_std_dev));
-    }
-    /// Lognormal distribution
-
-    /// Lognormal distribution. The parameter is an <tt>std::pair</tt> of
-    /// the mean and the standard deviation of <tt>exp(X)</tt>.
-    ///
-    double lognormal(const std::pair<double,double> &params)
-    {
-      return std::exp(gauss(params.first,params.second));
-    }
-    /// Compute the lognormal parameters from mean and standard deviation
-
-    /// This function computes the lognormal parameters from mean and
-    /// standard deviation. The return value can direcly be passed to
-    /// lognormal().
-    std::pair<double,double> lognormalParamsFromMD(double mean,
-                                                   double std_dev)
-    {
-      double fr=std_dev/mean;
-      fr*=fr;
-      double lg=std::log(1+fr);
-      return std::pair<double,double>(std::log(mean)-lg/2.0,std::sqrt(lg));
-    }
-    /// Lognormal distribution with given mean and standard deviation
-
-    /// Lognormal distribution with given mean and standard deviation.
-    ///
-    double lognormalMD(double mean,double std_dev)
-    {
-      return lognormal(lognormalParamsFromMD(mean,std_dev));
     }
 
@@ -953,4 +924,5 @@
     ///\name Two dimensional distributions
     ///
+
     ///@{
 
@@ -969,5 +941,5 @@
       return dim2::Point<double>(V1,V2);
     }
-    /// A kind of two dimensional normal (Gauss) distribution
+    /// A kind of two dimensional Gauss distribution
 
     /// This function provides a turning symmetric two-dimensional distribution.
