o
    iG                     @   s(  d dl mZmZmZ d dlmZ d dlmZmZ d dl	m
Z
 d dlmZmZ e
dZe
dZeeedd	 Zeeed
d	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 Zeeedd	 ZdS )    )ooInfinityNegativeInfinity)S)BasicExpr)
Dispatcher)Interval	FiniteSet_set_add_set_subc                 C      d S N xyr   r   f/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/sympy/sets/handlers/add.py_      r   c                 C   s   | | S r   r   r   r   r   r   r         c                 C   s.   t | j|j | j|j | jp|j| jp|jS )z`
    Additions in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    r	   startendZ	left_openZ
right_openr   r   r   r   r         c                 C   $   | j tju rtt tS ttjhS r   )r   r   r   r	   r   r
   r   r   r   r   r   r   $      c                 C   r   r   )r   r   r   r	   r   r
   r   r   r   r   r   r   *   r   c                 C   r   r   r   r   r   r   r   r   1   r   c                 C   s   | | S r   r   r   r   r   r   r   6   r   c                 C   s.   t | j|j | j|j | jp|j| jp|jS )zc
    Subtractions in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    r   r   r   r   r   r   ;   r   c                 C   "   | j tju rtt tS tt S r   r   r   r   r	   r   r
   r   r   r   r   r   E      
c                 C   r   r   r   r   r   r   r   r   K   r   N)Zsympy.core.numbersr   r   r   Zsympy.core.singletonr   Z
sympy.corer   r   Zsympy.multipledispatchr   Z
sympy.setsr	   r
   r   r   registerr   r   r   r   r   <module>   s6    






	









	

