/// <summary>
 /// Generates next random Int32 between minValue and maxValue .
 /// </summary>
 public static Int32 NextInt32(this RNGCryptoServiceProvider rndGen, Int32 minValue, Int32 maxValue)
 {
     return((Int32)Math.Round(rndGen.NextDouble(minValue, maxValue)));
 }
 /// <summary>
 /// Generates next random double between min and max.
 /// </summary>
 public static double NextDouble(this RNGCryptoServiceProvider rndGen, double min, double max)
 {
     return(min + (max - min) * rndGen.NextDouble());
 }