26 lines
576 B
Python
26 lines
576 B
Python
|
import mymath
|
||
|
|
||
|
class DataBuffer(object):
|
||
|
def __init__(self, length):
|
||
|
self.__max = length
|
||
|
self.__data = []
|
||
|
|
||
|
def push(self, element):
|
||
|
if self.__max == 0:
|
||
|
return False
|
||
|
if len(self.__data) == self.__max:
|
||
|
_ = self.__data.pop(0)
|
||
|
self.__data.append(element)
|
||
|
return True
|
||
|
|
||
|
def average(self):
|
||
|
if len(self.__data) != self.__max:
|
||
|
return None
|
||
|
return mymath.mean(self.__data)
|
||
|
|
||
|
def length(self):
|
||
|
return len(self.__data)
|
||
|
|
||
|
def clear(self):
|
||
|
self.__data = []
|