Esempio n. 1
0
        public async Task <IActionResult> Fibonacci(string number)
        {
            var    parseResult = TryParser.TryLongParse(number, fibonacciMax);
            var    intval      = parseResult.Item2;
            string result      = "";

            if (parseResult.Item1)
            {
                result = await Task.Run(() => { return(MF.Fibonacci.FString(intval)); });

                return(Ok(result));
            }
            else
            {
                return(BadRequest(String.Format("improper integer, or integer greater than {0}", fibonacciMax)));
            }
        }
Esempio n. 2
0
        public async Task <IActionResult> Binomial(string number, string knumber)
        {
            var    parseResult1 = TryParser.TryLongParse(number, binomialMax);
            var    parseResult2 = TryParser.TryLongParse(knumber, binomialMax);
            var    intval       = parseResult1.Item2;
            var    intval2      = parseResult2.Item2;
            string result       = "";

            if (parseResult1.Item1 && parseResult2.Item1)
            {
                result = await Task.Run(() => { return(MF.BinomialCoefficient.BinomialString(intval, intval2)); });

                return(Ok(result));
            }
            else
            {
                return(BadRequest(String.Format("improper integer, or integer greater than {0}", binomialMax)));
            }
        }
        public async Task <IActionResult> BinomialDistribution(string probability, string number, string knumber)
        {
            var parseResult1 = TryParser.TryDoubleParse(probability);
            var parseResult2 = TryParser.TryLongParse(number, binomialMax);
            var parseResult3 = TryParser.TryLongParse(knumber, binomialMax);
            var n            = parseResult2.Item2;
            var k            = parseResult3.Item2;
            var p            = parseResult1.Item2;

            if (parseResult1.Item1 && parseResult2.Item1 && (p < 1.0 && p > 0.0) && n > k)
            {
                var result = await Task.Run(() => { return(((double)MF.BinomialCoefficient.Binomial(n, k)) * Math.Pow(p / (1 - p), k) * Math.Pow(1 - p, n)); });

                return(Ok(result));
            }
            else
            {
                return(BadRequest(String.Format("improper integers or probability, or integer greater than {0}", binomialMax)));
            }
        }