Beispiel #1
0
 public static Stats Calculate(IEnumerable <double> values, Stats entire = default)
 => Calculate(values: values.Arg(nameof(values)), entire: entire);
Beispiel #2
0
        // TODO: Improve exception message.
        //
        public static Stats Calculate(ArgumentUtilitiesHandle <IEnumerable <double> > values, Stats entire = default)
        {
            values.EnsureNotNull();
            var valuesArray =
                values
                .Value
                .Select(
                    (locValue, locIndex) => {
                if (double.IsNaN(locValue))
                {
                    throw
                    new ArgumentOutOfRangeException(
                        paramName: $"{values.Name}[{locIndex:d}]",
                        message: FormatXResource(locator: typeof(ArgumentOutOfRangeException), subpath: "CanNotNaN"));
                }
                return(locValue);
            })
                .ToArray();

            if (valuesArray.Length == 0)
            {
                return(entire is null ? Empty : new Stats(entire: entire));
            }
            else if (!(entire is null) && (entire.IsEmpty || entire.Count < valuesArray.Length))
            {
                throw new ArgumentOutOfRangeException(paramName: nameof(entire));
            }
Beispiel #3
0
 public static Stats Calculate(ArgumentUtilitiesHandle <IEnumerable <int> > values, Stats entire = default)
 => Calculate(values: values.EnsureNotNull().Select(locValue => (double)locValue), entire: entire);