/// <summary>
        /// Get maximum divisable int factor
        /// </summary>
        /// <param name="numerator"></param>
        /// <param name="denominator"></param>
        /// <param name="remainder"> remainder of the devision </param>
        /// <returns>factor between numerator and denominator </returns>
        /// <exception cref="DivideByZeroException">When <see cref="denominator"/> is zero.</exception>
        public static int TryIntDivision(int numerator, int denominator, out int remainder)
        {
            if (CompareUtilities.IsDefault(denominator))
            {
                throw new DivideByZeroException(nameof(denominator));
            }

            remainder = numerator % denominator;
            return((int)Math.Floor((double)numerator / denominator));
        }
示例#2
0
        internal static bool IsStandardDeviationValid(
            List <double> valueList,
            int count,
            double average,
            double standardDeviation,
            double standardDeviationFactor,
            double standardDeviationPercentageThresHold)
        {
            var lowerBound             = average - (standardDeviation * standardDeviationFactor);
            var upperBound             = average + (standardDeviation * standardDeviationFactor);
            var countBetweenBoundaries = valueList.Count(
                x =>
                CompareUtilities.GreaterOrEqualTo(x, lowerBound) &&
                CompareUtilities.SmallerOrEqualTo(x, upperBound));
            var percentageBetweenBoundaries = (double)countBetweenBoundaries / count * 100;

            return(percentageBetweenBoundaries >= standardDeviationPercentageThresHold);
        }