示例#1
0
 /// <summary>
 /// Copies the specified source.
 /// </summary>
 /// <param name="source">The source.</param>
 /// <param name="target">The target.</param>
 /// <param name="progressDelegate">The progress delegate.</param>
 /// <remarks>Documented by Dev08, 2009-02-06</remarks>
 public static void Copy(IStatistics source, IStatistics target, CopyToProgress progressDelegate)
 {
     try
     {
         foreach (IStatistic statistic in source)
         {
             target.Add(statistic);
         }
     }
     catch (Exception ex)
     {
         Trace.WriteLine(ex.ToString(), "StatisticsHelper.Copy()");
     }
 }
示例#2
0
        TimeSpan AddRandom(IStatistics statistics, long count)
        {
            var rand  = new Random();
            var watch = new Stopwatch();

            while (0 < count--)
            {
                var value = rand.NextDouble();
                watch.Start();
                statistics.Add(value);
                watch.Stop();
            }
            return(watch.Elapsed);
        }
示例#3
0
        public void StandardDeviationPredefinedValuesTest2()
        {
            var statistics = new[] { 1d, 3, 4 }.Statistics();

            Assert.AreEqual(3, statistics.Count);
            Assert.IsTrue(statistics.Mean.NearlyEquals(2.7, 0.02));
            Assert.IsTrue(statistics.StandardDeviation.NearlyEquals(1.24722, 0.00005));
            Assert.IsTrue(statistics.SampleStandardDeviation.NearlyEquals(1.52753, 0.00005));
            IStatistics statistics2 = new Statistics();

            statistics2.Add(1);
            IStatistics statistics3 = new Statistics();

            statistics3.Add(3);
            statistics2.Add(statistics3);
            statistics3 = new Statistics();
            statistics3.Add(4);
            IStatistics statistics4 = statistics3.Clone();

            statistics4.Add(statistics2);
            Assert.IsTrue(statistics4.NearlyEquals(statistics));
            statistics2.Add(statistics3);
            Assert.IsTrue(statistics.NearlyEquals(statistics2));
        }