o
    ©¼–iú  ã                   @  s   d dl mZ G dd„ dƒZdS )é    )Úannotationsc                   @  s>   e Zd Zddd„Zdd	d
„Zddd„Zddd„Zddd„ZdS )ÚMovingAverageÚwindow_sizeÚintÚreturnÚNonec                 C  s   dg| | _ d| _d| _d S ©Nr   )Ú_histÚ_sumÚ_count)Úselfr   © r   úe/var/www/html/livekit_bhavya/venv/lib/python3.10/site-packages/livekit/agents/utils/moving_average.pyÚ__init__   s   
zMovingAverage.__init__ÚsampleÚfloatc                 C  s^   |  j d7  _ | j t| jƒ }| j t| jƒkr!|  j| j| 8  _|  j|7  _|| j|< d S )Né   )r   Úlenr	   r
   )r   r   Úindexr   r   r   Ú
add_sample
   s   zMovingAverage.add_samplec                 C  s   | j dkrdS | j|  ¡  S r   )r   r
   Úsize©r   r   r   r   Úget_avg   s   
zMovingAverage.get_avgc                 C  s   d| _ d| _d S r   )r   r
   r   r   r   r   Úreset   s   
zMovingAverage.resetc                 C  s   t | jt| jƒƒS )N)Úminr   r   r	   r   r   r   r   r      s   zMovingAverage.sizeN)r   r   r   r   )r   r   r   r   )r   r   )r   r   )r   r   )Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   r      s    



r   N)Ú
__future__r   r   r   r   r   r   Ú<module>   s    