o
    ׹i                     @   s   d dl mZ G dd dZdS )    )longc                   @   sR   e Zd ZdZdddZdddZddd	Zd
d Zdd ZeZ	dd Z
dd ZdS )counterzgeneral-purpose counterr   c                 C   s
   || _ d S Nvalue)selfinitial_value r	   V/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/supervisor/medusa/counter.py__init__      
zcounter.__init__   c                 C   s>   | j }z	| j | | _ W |S  ty   t| j | | _ Y |S w r   r   OverflowErrorr   r   deltaresultr	   r	   r
   	increment      zcounter.incrementc                 C   s>   | j }z	| j | | _ W |S  ty   t| j | | _ Y |S w r   r   r   r	   r	   r
   	decrement   r   zcounter.decrementc                 C   s
   t | jS r   )r   r   r   r	   r	   r
   as_long'   r   zcounter.as_longc                 C   s
   | j dkS )Nr   r   r   r	   r	   r
   __nonzero__*   r   zcounter.__nonzero__c                 C   s   d| j t| f S )Nz<counter value=%s at %x>)r   idr   r	   r	   r
   __repr__/   s   zcounter.__repr__c                 C   s.   t t| j}|dd  dkr|d d }|S )NL)strr   r   )r   sr	   r	   r
   __str__2   s   zcounter.__str__N)r   )r   )__name__
__module____qualname____doc__r   r   r   r   r   __bool__r   r   r	   r	   r	   r
   r      s    


r   N)supervisor.compatr   r   r	   r	   r	   r
   <module>   s   