/// <summary>Initializes a new instance of the <see cref="MklQuasiRandomNumberGenerator" /> class. /// </summary> /// <param name="generatorName">The name of the Random Number Generator.</param> /// <param name="generatorID">The (internal) Generator ID.</param> /// <param name="initialConditions">The description of initial conditions.</param> /// <param name="description">The description of the Quasi-Random Number Generator.</param> /// <param name="splittingApproach">The splitting approach supported by the Random Number Generator.</param> /// <param name="randomNumberLibrary">The random number library.</param> internal MklQuasiRandomNumberGenerator(string generatorName, int generatorID, RandomNumberInitialConditions.Descriptor initialConditions, string description, RandomNumberSequence.SplittingApproach splittingApproach = RandomNumberSequence.SplittingApproach.None, IRandomNumberLibrary randomNumberLibrary = null) { m_Library = randomNumberLibrary; m_GeneratorName = IdentifierString.Create(generatorName); m_GeneratorID = generatorID; m_InitialConditions = initialConditions; m_Description = description; m_SplittingApproach = splittingApproach; }
/// <summary>Initializes a new instance of the <see cref="MklPseudoRandomNumberGenerator" /> class. /// </summary> /// <param name="generatorName">The name of the Random Number Generator.</param> /// <param name="generatorID">The (internal) Generator ID.</param> /// <param name="initialConditions">The description of initial conditions.</param> /// <param name="description">The description of the Pseudo-Random Number Generator.</param> /// <param name="splittingApproach">The splitting approach supported by the Random Number Generator.</param> /// <param name="numberOfSubGenerators">The number of sub-generator's (relevant for Wichmann-Hill and MT2203 only).</param> /// <param name="randomNumberLibrary">The random number library.</param> internal MklPseudoRandomNumberGenerator(string generatorName, int generatorID, RandomNumberInitialConditions.Descriptor initialConditions, string description, RandomNumberSequence.SplittingApproach splittingApproach = RandomNumberSequence.SplittingApproach.None, int numberOfSubGenerators = 1, IRandomNumberLibrary randomNumberLibrary = null) { m_Library = randomNumberLibrary; m_GeneratorName = IdentifierString.Create(generatorName); m_GeneratorID = generatorID; m_InitialConditions = initialConditions; m_Description = description; m_SplittingApproach = splittingApproach; m_SubGeneratorIDs = Enumerable.Range(0, numberOfSubGenerators); }