private static double WritePiBenchMark(int piDigit, int piIteration)
        {
            var iteration = 100;
            var miliSecs  = new long[iteration];

            var sw1 = Stopwatch.StartNew();

            for (var i = 0; i < iteration; i++)
            {
                sw1.Start();

                var calculator = new PiCalculator();
                var pi         = calculator.GetPi(piDigit, piIteration);

                sw1.Stop();
                miliSecs[i] = sw1.ElapsedMilliseconds;
                sw1.Reset();
            }
            var average = miliSecs.Average();

            Console.WriteLine("Pi digit\t\tPi Iteration\t\tAvgCalc Milliseconds");
            Console.WriteLine($"{piDigit}\t\t\t{piIteration}\t\t\t{average}");

            return(average);
        }
        protected override void OnReceive(object message)
        {
            if (message is CalcOptions options)
            {
                var calculator = new PiCalculator();
                var pi         = calculator.GetPi(options.Digits, options.Iterations);

                var strPi          = pi.ToString();
                var actorSelection = Context.ActorSelection(options.ReceiverAddress);

                actorSelection.Tell(new PiNumber {
                    Pi = strPi
                });
            }
        }
        public Task ReceiveAsync(IContext context)
        {
            if (context.Message is CalcOptions options)
            {
                var calculator = new PiCalculator();
                var pi         = calculator.GetPi(options.Digits, options.Iterations);

                var strPi = pi.ToString();

                PID echoActor = new PID(options.ReceiverAddress, "echoActor");

                echoActor.Tell(new PiNumber {
                    Pi = strPi
                });
            }

            return(Actor.Done);
        }
        public async Task <IActionResult> Post([FromBody] int digits)
        {
            var pi = await Task.Run(() => PiCalculator.GetPi(digits));

            return(Ok(pi));
        }
        public void PiCalculator_GetPi_returns_314_for_input_2()
        {
            var result = piCalculator.GetPi(2);

            Assert.AreEqual("3.14", result);
        }