コード例 #1
0
ファイル: RNGFactory.cs プロジェクト: JSchripsema-IDM/IDM-CMS
        public static RandomVariateGenerator CreateNewPrng(GeneratorType generatorType, uint generatorSeed, uint seedIndex)
        {
            RandomVariateGenerator prng;

            switch (generatorType)
            {
            case GeneratorType.VANILLA:
                prng = DotNetVariateGenerator.CreateDotNetVariateGenerator(new[] { generatorSeed });
                break;

            case GeneratorType.RANDLIB:
                prng = RandLibVariateGenerator.CreateRandLibVariateGenerator(new [] { generatorSeed });
                break;

            case GeneratorType.PSEUDODES:
                prng = PseudoDesVariateGenerator.CreatePseudoDesVariateGenerator(new[] { generatorSeed, seedIndex });
                break;

            case GeneratorType.AESCOUNTER:
                prng = AesCounterVariateGenerator.CreateAesCounterVariateGenerator(new [] { generatorSeed, seedIndex });
                break;

            default:
                throw new ArgumentException($"Unknown/unsupported RNG type: {generatorType}");
            }

            return(prng);
        }
コード例 #2
0
        private RandomVariateGenerator CreateVariateGenerator()
        {
            RandomVariateGenerator generator = DotNetVariateGenerator.CreateDotNetVariateGenerator(new uint[] { 19860201 });

            return(generator);
        }