Esempio n. 1
0
 /// <summary>Creates a new random number stream.
 /// </summary>
 /// <param name="initialConditions">Initial conditions for the Random Number Generator; <see cref="IRandomNumberGenerator.InitialConditions"/> serves as factory for initial conditions with respect to the Random Number Generator represented by the current instance.</param>
 /// <param name="subGeneratorID">A sub-generator ID if a set of similar Random Number Generator is represented by the current instance.</param>
 /// <returns>The random number stream in its <see cref="AcmlRandomNumberStream"/> representation.</returns>
 /// <exception cref="ArgumentException">Thrown if <paramref name="initialConditions"/> or <paramref name="subGeneratorID"/> is not suitable for the Random Number Generator represented by the current instance.</exception>
 public AcmlRandomNumberStream Create(RandomNumberInitialConditions initialConditions, int subGeneratorID)
 {
     if (initialConditions == null)
     {
         throw new ArgumentNullException(nameof(initialConditions));
     }
     if (initialConditions is AcmlRandomNumberInitialConditions.SingleSeed)
     {
         var acmlInitialConditions = initialConditions as AcmlRandomNumberInitialConditions.SingleSeed;
         return(Create(acmlInitialConditions.Seed, subGeneratorID));
     }
     else if (initialConditions is AcmlRandomNumberInitialConditions.MultiSeed)
     {
         var acmlInitialConditions = initialConditions as AcmlRandomNumberInitialConditions.MultiSeed;
         return(Create(acmlInitialConditions.n, acmlInitialConditions.Seed, subGeneratorID));
     }
     throw new ArgumentException(nameof(initialConditions));
 }
Esempio n. 2
0
 /// <summary>Creates a new random number stream.
 /// </summary>
 /// <param name="initialConditions">Initial conditions for the Random Number Generator; <see cref="IRandomNumberGenerator.InitialConditions"/> serves as factory for initial conditions with respect to the Random Number Generator represented by the current instance.</param>
 /// <param name="subGeneratorID">A sub-generator ID if a set of similar Random Number Generator is represented by the current instance.</param>
 /// <returns>The random number stream in its <see cref="IRandomNumberStream"/> representation.</returns>
 /// <exception cref="ArgumentException">Thrown if <paramref name="initialConditions"/> or <paramref name="subGeneratorID"/> is not suitable for the Random Number Generator represented by the current instance.</exception>
 public IRandomNumberStream Create(RandomNumberInitialConditions initialConditions, int subGeneratorID)
 {
     if (initialConditions == null)
     {
         throw new ArgumentNullException("initialConditions");
     }
     if (initialConditions is MklRandomNumberInitialConditions.SingleSeed)
     {
         var mklInitialConditions = initialConditions as MklRandomNumberInitialConditions.SingleSeed;
         return(Create(mklInitialConditions.Seed, subGeneratorID));
     }
     else if (initialConditions is MklRandomNumberInitialConditions.MultiSeed)
     {
         var mklInitialConditions = initialConditions as MklRandomNumberInitialConditions.MultiSeed;
         return(Create(mklInitialConditions.n, mklInitialConditions.Seed, subGeneratorID));
     }
     throw new ArgumentException("initialConditions");
 }
Esempio n. 3
0
 /// <summary>Creates a new random number stream.
 /// </summary>
 /// <param name="initialConditions">Initial conditions for the Random Number Generator; <see cref="IRandomNumberGenerator.InitialConditions"/> serves as factory for initial conditions with respect to the Random Number Generator represented by the current instance.</param>
 /// <param name="subGeneratorID">A sub-generator ID if a set of similar Random Number Generator is represented by the current instance.</param>
 /// <returns>The random number stream in its <see cref="IRandomNumberStream"/> representation.</returns>
 /// <exception cref="ArgumentException">Thrown if <paramref name="initialConditions"/> or <paramref name="subGeneratorID"/> is not suitable for the Random Number Generator represented by the current instance.</exception>
 IRandomNumberStream IPseudoRandomNumberGenerator.Create(RandomNumberInitialConditions initialConditions, int subGeneratorID)
 {
     return(Create(initialConditions, subGeneratorID));
 }