Exemplo n.º 1
0
        private void RunCore(out Mediator md, uint multiplier, uint initialValue, uint divider,
                             out IEnumerable <double> normalizedSequence, out double estimation,
                             out int period, out int aperiodicity)
        {
            md = new Mediator(
                new UniformDistribution(),
                new Lehmer(multiplier, initialValue, divider));
            IEnumerable <uint> seq = md.InitializeSequence(500_000);

            normalizedSequence = SequenceNormalizer.Normalize(seq, divider); // [0,1]
            estimation         = md.CalculateIndirectEstimation(normalizedSequence);
            var periodResults = md.FindCycle(multiplier, initialValue, divider);

            period       = periodResults.clength;
            aperiodicity = periodResults.cstart + period;
        }