예제 #1
0
 def GenerateSample(self, number=0):
     value = stats_rdf.RunningStats()
     value.RegisterValue(number)
     value.RegisterValue(number * 2)
     value.histogram = stats_rdf.StatsHistogram.FromBins(
         [2.0, number, 10.0])
     return value
예제 #2
0
    def testStdDevIsCalculatedCorrectly(self):
        stats = stats_rdf.RunningStats()
        values = range(100)

        for v in values:
            stats.RegisterValue(v)

        # Compare calculated standard deviation with a precalculated value.
        self.assertTrue(math.fabs(stats.std - 28.86607004) < 1e-7)
예제 #3
0
    def testMeanIsCalculatedCorrectly(self):
        stats = stats_rdf.RunningStats()
        values = range(100)

        for v in values:
            stats.RegisterValue(v)

        # Compare calculated mean with a precalculated value.
        self.assertTrue(math.fabs(stats.mean - 49.5) < 1e-7)
예제 #4
0
    def testHistogramIsCalculatedCorrectly(self):
        stats = stats_rdf.RunningStats()
        stats.histogram = stats_rdf.StatsHistogram.FromBins([2.0, 4.0, 10.0])

        stats.RegisterValue(1.0)
        stats.RegisterValue(1.0)

        stats.RegisterValue(2.0)
        stats.RegisterValue(2.1)
        stats.RegisterValue(2.2)

        stats.RegisterValue(8.0)
        stats.RegisterValue(9.0)
        stats.RegisterValue(10.0)
        stats.RegisterValue(11.0)

        self.assertAlmostEquals(stats.histogram.bins[0].range_max_value, 2.0)
        self.assertEqual(stats.histogram.bins[0].num, 2)

        self.assertAlmostEquals(stats.histogram.bins[1].range_max_value, 4.0)
        self.assertEqual(stats.histogram.bins[1].num, 3)

        self.assertAlmostEquals(stats.histogram.bins[2].range_max_value, 10.0)
        self.assertEqual(stats.histogram.bins[2].num, 4)