* Moving pyqmc.stats.avg to wpylib.math.stats.avg .

master
wirawan 14 years ago
parent 46e5caa7a2
commit 02776c1e6a
  1. 29
      math/stats/avg.py

@ -0,0 +1,29 @@
# $Id: avg.py,v 1.1 2010-10-07 15:56:55 wirawan Exp $
# Create: 20090112
import math
class avg(object):
def __init__(self):
self.clear()
def clear(self):
self.N = 0
self.sum1 = 0.0
self.sum2 = 0.0
def add(self, value):
self.N += 1
self.sum1 += value
self.sum2 += value*value
return self
#__add__ = add << HERETICAL!!!
def mean(self):
return self.sum1 / self.N
def stddev(self):
N = self.N
avg1 = self.sum1 / N
avg2 = self.sum2 / N
return math.sqrt(abs( (avg2 - avg1**2) * N / (N - 1) ))
# Operator overloading:
avg.__iadd__ = avg.add
avg.__call__ = avg.mean
Loading…
Cancel
Save