/// <summary>Initializes a new instance of the <see cref="MklRandomNumberLibrary" /> class. /// </summary> public MklRandomNumberLibrary() { MCG31 = new MklPseudoRandomNumberGenerator("MCG31_mkl", (int)MklPseudoRandomNumberGenerator.MagicNumber.MCG31, new MklRandomNumberInitialConditions.Descriptor(), MklResources.MCG31, RandomNumberSequence.SplittingApproach.LeapFrog | RandomNumberSequence.SplittingApproach.SkipAhead, 1, this); R250 = new MklPseudoRandomNumberGenerator("R250_mkl", (int)MklPseudoRandomNumberGenerator.MagicNumber.R250, new MklRandomNumberInitialConditions.Descriptor(), MklResources.R250, RandomNumberSequence.SplittingApproach.None, 1, this); MRG32K3A = new MklPseudoRandomNumberGenerator("MRG32K3A_mkl", (int)MklPseudoRandomNumberGenerator.MagicNumber.MRG32K3A, new MklRandomNumberInitialConditions.Descriptor(), MklResources.MRG32K3A, RandomNumberSequence.SplittingApproach.SkipAhead, 1, this); MCG59 = new MklPseudoRandomNumberGenerator("MCG59_mkl", (int)MklPseudoRandomNumberGenerator.MagicNumber.MCG59, new MklRandomNumberInitialConditions.Descriptor(), MklResources.MCG59, RandomNumberSequence.SplittingApproach.LeapFrog | RandomNumberSequence.SplittingApproach.SkipAhead, 1, this); WichmannHill = new MklPseudoRandomNumberGenerator("WichmannHill_mkl", (int)MklPseudoRandomNumberGenerator.MagicNumber.WH, new MklRandomNumberInitialConditions.Descriptor(), MklResources.WichmannHill, RandomNumberSequence.SplittingApproach.LeapFrog | RandomNumberSequence.SplittingApproach.SkipAhead, 273, this); MT19937 = new MklPseudoRandomNumberGenerator("MT19937_mkl", (int)MklPseudoRandomNumberGenerator.MagicNumber.MT19937, new MklRandomNumberInitialConditions.Descriptor(), MklResources.MT19937, RandomNumberSequence.SplittingApproach.None, 1, this); MT2203 = new MklPseudoRandomNumberGenerator("MT2203_mkl", (int)MklPseudoRandomNumberGenerator.MagicNumber.MT2203, new MklRandomNumberInitialConditions.Descriptor(), MklResources.MT2203, RandomNumberSequence.SplittingApproach.None, 6024, this); Sobol = new MklQuasiRandomNumberGenerator("Sobol_mkl", (int)MklQuasiRandomNumberGenerator.MagicNumber.Sobol, new MklRandomNumberInitialConditions.Descriptor(), MklResources.Sobol, RandomNumberSequence.SplittingApproach.LeapFrog | RandomNumberSequence.SplittingApproach.SkipAhead, this); Niederreiter = new MklQuasiRandomNumberGenerator("Niederreiter_mkl", (int)MklQuasiRandomNumberGenerator.MagicNumber.Niederreiter, new MklRandomNumberInitialConditions.Descriptor(), MklResources.Niederreiter, RandomNumberSequence.SplittingApproach.LeapFrog | RandomNumberSequence.SplittingApproach.SkipAhead, this); }
/// <summary>Initializes the <see cref="MklQuasiRandomNumberGenerator" /> class. /// </summary> static MklQuasiRandomNumberGenerator() { Sobol = new MklQuasiRandomNumberGenerator("Sobol_mkl", (int)MklQuasiRandomNumberGenerator.MagicNumber.Sobol, new MklRandomNumberInitialConditions.Descriptor(), MklResources.Sobol, RandomNumberSequence.SplittingApproach.LeapFrog | RandomNumberSequence.SplittingApproach.SkipAhead); Niederreiter = new MklQuasiRandomNumberGenerator("Niederreiter_mkl", (int)MklQuasiRandomNumberGenerator.MagicNumber.Niederreiter, new MklRandomNumberInitialConditions.Descriptor(), MklResources.Niederreiter, RandomNumberSequence.SplittingApproach.LeapFrog | RandomNumberSequence.SplittingApproach.SkipAhead); }