Example #1
0
        public static void Test3()
        {
            // 短い時間に連続でコンストラクタを呼ぶと、同じ値が生成される
            var logText = "Xorshift128\n";

            for (int seed = 0; seed < 3; seed++)
            {
                var random = new Xorshift128();
                logText += "random.Next() = " + random.Next() + "\n";
            }
            // System.Randomも見てみる
            logText += "System.Random\n";
            for (int seed = 0; seed < 3; seed++)
            {
                var random = new System.Random();
                logText += "random.Next() = " + random.Next() + "\n";
            }
            Utility.DebugLog(logText);
        }
Example #2
0
        public static void Test2()
        {
            var logText = "Xorshift128\n";

            for (int seed = 1; seed <= 5; seed++)
            {
                var random = new Xorshift128(seed);
                logText += "seed=" + seed + "\t";
                var x = random.Next();
                logText += "random.Next() = " + x + "\n";
                random   = new Xorshift128(-seed);
                logText += "seed=" + -seed + "\t";
                var y = random.Next();
                logText += "random.Next() = " + y + "\n";
                if (x != y)
                {
                    Utility.DebugLogError("x != y");
                }
            }
            // System.Randomも見てみる
            logText += "System.Random\n";
            for (int seed = 1; seed <= 5; seed++)
            {
                var random = new System.Random(seed);
                logText += "seed=" + seed + "\t";
                var x = random.Next();
                logText += "random.Next() = " + x + "\n";
                random   = new System.Random(-seed);
                logText += "seed=" + -seed + "\t";
                var y = random.Next();
                logText += "random.Next() = " + y + "\n";
                if (x != y)
                {
                    Utility.DebugLogError("x != y");
                }
            }
            Utility.DebugLog(logText);
        }