Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
08/17/10 16:39:11 (14 years ago)
Author:
gkronber
Message:

Use FastRandom instead of Mersenne twister for partial evaluation of training samples. #1082

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/DataAnalysis/HeuristicLab.Problems.DataAnalysis/3.3/RandomEnumerable.cs

    r4112 r4244  
    2727  public class RandomEnumerable {
    2828    public static IEnumerable<int> SampleRandomNumbers(int maxElement, int count) {
    29       return SampleRandomNumbers(((uint)DateTime.Now.Ticks), 0, maxElement, count);
     29      return SampleRandomNumbers(Environment.TickCount, 0, maxElement, count);
    3030    }
    3131
    3232    public static IEnumerable<int> SampleRandomNumbers(int start, int end, int count) {
    33       return SampleRandomNumbers(((uint)DateTime.Now.Ticks), start, end, count);
    34     }
    35 
    36     public static IEnumerable<int> SampleRandomNumbers(uint seed, int maxElement, int count) {
    37       return SampleRandomNumbers(seed, 0, maxElement, count);
     33      return SampleRandomNumbers(Environment.TickCount, start, end, count);
    3834    }
    3935
     
    4137    //IMPORTANT because IEnumerables with yield are used the seed must best be specified to return always
    4238    //the same sequence of numbers without caching the values.
    43     public static IEnumerable<int> SampleRandomNumbers(uint seed, int start, int end, int count) {
     39    public static IEnumerable<int> SampleRandomNumbers(int seed, int start, int end, int count) {
    4440      int remaining = end - start;
    45       var mt = new MersenneTwister(seed);
     41      var mt = new FastRandom(seed);
    4642      for (int i = start; i < end && count > 0; i++) {
    4743        double probability = mt.NextDouble();
Note: See TracChangeset for help on using the changeset viewer.