/// <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; }
/// <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; }