Exemple #1
0
 /// <summary>
 /// Initializes a random number engine based on the selected type.
 /// 
 /// To switch engines, a new object will have to be created.  In practice
 /// this can be handled automatically just by changing the engine type enum.
 /// </summary>
 /// <param name="engine"></param>
 public RandomNumber(RandomNumberEngine engine)
 {
     switch( engine )
     {
         case RandomNumberEngine.RANDOM_DOTNET_BUILTIN:
             _netEngine = new Random();
             break;
         case RandomNumberEngine.RANDOM_R250_521:
             _r250521Engine = new R250_521();
             break;
         case RandomNumberEngine.RANDOM_MERSENNE_TWISTER:
             _mtEngine = new MT();
             break;
         default:
             throw new IndexOutOfRangeException( "RandomNumber(): Bad random number generator setting");
     }
     _engine = engine;
 }
Exemple #2
0
        /// <summary>
        /// Initializes a random number engine based on the selected type.
        ///
        /// To switch engines, a new object will have to be created.  In practice
        /// this can be handled automatically just by changing the engine type enum.
        /// </summary>
        /// <param name="engine"></param>
        public RandomNumber(RandomNumberEngine engine)
        {
            switch (engine)
            {
            case RandomNumberEngine.RANDOM_DOTNET_BUILTIN:
                _netEngine = new Random();
                break;

            case RandomNumberEngine.RANDOM_R250_521:
                _r250521Engine = new R250_521();
                break;

            case RandomNumberEngine.RANDOM_MERSENNE_TWISTER:
                _mtEngine = new MT();
                break;

            default:
                throw new IndexOutOfRangeException("RandomNumber(): Bad random number generator setting");
            }
            _engine = engine;
        }