Пример #1
0
        public void Run()
        {
            var tasks   = new Task[Pow2.T08];
            var indices = range(0xFFFFul, 0xFFFFFFFFul).Where(x => x % 2 != 0).Take(Pow2.T08).ToArray();

            for (var i = 0u; i < tasks.Length; i++)
            {
                var random  = Rng.Pcg64(0, indices[i]).ToPolyrand();
                var context = Fsm.CreateContext(random);
                var transF  = TransRules().ToFunction();
                var machine = Fsm.Machine($"Fsm1-{i}", context, S0, S5, transF);
                tasks[i] = Fsm.Run(machine);
            }
            Task.WaitAll(tasks);
        }