Module livekit.agents.utils.moving_average
Classes
class MovingAverage (window_size: int)-
Expand source code
class MovingAverage: def __init__(self, window_size: int) -> None: self._hist: list[float] = [0] * window_size self._sum: float = 0 self._count: int = 0 def add_sample(self, sample: float) -> None: self._count += 1 index = self._count % len(self._hist) if self._count > len(self._hist): self._sum -= self._hist[index] self._sum += sample self._hist[index] = sample def get_avg(self) -> float: if self._count == 0: return 0 return self._sum / self.size() def reset(self): self._count = 0 self._sum = 0 def size(self) -> int: return min(self._count, len(self._hist))Methods
def add_sample(self, sample: float) ‑> None-
Expand source code
def add_sample(self, sample: float) -> None: self._count += 1 index = self._count % len(self._hist) if self._count > len(self._hist): self._sum -= self._hist[index] self._sum += sample self._hist[index] = sample def get_avg(self) ‑> float-
Expand source code
def get_avg(self) -> float: if self._count == 0: return 0 return self._sum / self.size() def reset(self)-
Expand source code
def reset(self): self._count = 0 self._sum = 0 def size(self) ‑> int-
Expand source code
def size(self) -> int: return min(self._count, len(self._hist))