o
    wZh                     @   sj   d dl Z d dlmZ dgZG dd de jZee jedd Zeee jdd Zeeedd ZdS )	    N)dispatchSingletonIntc                       s   e Zd ZdZdd fdd
Zdd fdd
Zd	d
 Zedd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Z  ZS )r   i Ncoeffc                   s   t  j| g|R i |}|S N)super__new__)clsr   argskwargsinstance	__class__ O/var/www/auris/lib/python3.10/site-packages/torch/utils/_sympy/singleton_int.pyr      s   zSingletonInt.__new__   c                   s   || _ || _t   d S r   )_val_coeffr   __init__)selfvalr   r   r   r   r      s   zSingletonInt.__init__c                 C   s.   t |tr|j| jkr| j|jkrtjS tjS r   )
isinstancer   r   r   sympytruefalser   otherr   r   r   _eval_Eq   s   zSingletonInt._eval_Eqc                 C   s   t  S r   )set)r   r   r   r   free_symbols&   s   zSingletonInt.free_symbolsc                 C   &   t |tr	tdt| j| j| dS Nz9SingletonInt cannot be multiplied by another SingletonIntr   r   r   
ValueErrorr   r   r   r   r   r   __mul__*   
   
zSingletonInt.__mul__c                 C   r    r!   r"   r   r   r   r   __rmul__1   r%   zSingletonInt.__rmul__c                 C      t dNZNYINotImplementedErrorr   r   r   r   __add__:      zSingletonInt.__add__c                 C   r'   r(   r)   r   r   r   r   __sub__=   r,   zSingletonInt.__sub__c                 C   r'   r(   r)   r   r   r   r   __truediv__@   r,   zSingletonInt.__truediv__c                 C   r'   r(   r)   r   r   r   r   __floordiv__C   r,   zSingletonInt.__floordiv__c                 C   r'   r(   r)   r   r   r   r   __mod__F   r,   zSingletonInt.__mod__)__name__
__module____qualname__Z_op_priorityr   r   r   propertyr   r$   r&   r+   r-   r.   r/   r0   __classcell__r   r   r   r   r   	   s    
	c                 C   s   | dk rt jS tdN   0Symbolic SingletonInt: Relation is indeterminate)r   r   r#   abr   r   r   _eval_is_geK      r<   c                 C   s   |dkrt jS tdr6   )r   r   r#   r9   r   r   r   r<   R   r=   c                 C   s,   | j |j kr| j|jkrtjS tjS td)Nr8   )r   r   r   r   r   r#   r9   r   r   r   r<   Y   s
   )r   Zsympy.multipledispatchr   __all__Z
AtomicExprr   Integerr<   r   r   r   r   <module>   s   
B


