Exemple #1
0
 public new void Accept(double value)
 {
     base.Accept(value);
     Min = Math.Min(Min, value);
     Max = Math.Max(Max, value);
     _sum.Add(value);
 }
Exemple #2
0
        public static double[] Incremental(double[] values)
        {
            var adder = new DoubleAdder(values[0]);

            for (var i = 1; i < values.Length; ++i)
            {
                values[i] = adder.Add(values[i]).DoubleValue;
            }
            return(values);
        }
Exemple #3
0
        protected void Accept(double value)
        {
            ++Count;

            double n   = Count;
            var    d   = value - _m1.Value;
            var    dN  = d / n;
            var    dN2 = dN * dN;
            var    t1  = d * dN * (n - 1.0);

            _m1.Add(dN);
            _m4.Add(t1 * dN2 * (n * n - 3.0 * n + 3.0))
            .Add(6.0 * dN2 * _m2.Value - 4.0 * dN * _m3.Value);
            _m3.Add(t1 * dN * (n - 2.0) - 3.0 * dN * _m2.Value);
            _m2.Add(t1);
        }