
    EdG                        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             Ze                    ee          d	             Ze                    ee          d
             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             Ze                    ee          d             ZdS )    )ooInfinityNegativeInfinity)S)BasicExpr)
Dispatcher)Interval	FiniteSet_set_add_set_subc                     d S N xys     7lib/python3.11/site-packages/sympy/sets/handlers/add.py_r          4    c                     | |z   S r   r   r   s     r   r   r          Q3Jr   c                     t          | j        |j        z   | j        |j        z   | j        p|j        | j        p|j                  S )z`
    Additions in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    r
   startend	left_open
right_openr   s     r   r   r      sE     AGag%ququ}K.1;0LN N Nr   c                     | j         t          j        u rt          t           t                    S t          t          j        h          S r   )r   r   r   r
   r   r   r   r   s     r   r   r   $   s8    w!$$ !R   aj\"""r   c                     | j         t          j        u rt          t           t                    S t          t          j        h          S r   )r   r   r   r
   r   r   r   r   s     r   r   r   *   s9    u
 !R   a()***r   c                     d S r   r   r   s     r   r   r   1   r   r   c                     | |z
  S r   r   r   s     r   r   r   6   r   r   c                     t          | j        |j        z
  | j        |j        z
  | j        p|j        | j        p|j                  S )zc
    Subtractions in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    r   r   s     r   r   r   ;   sD     AGaeOQUQW_K/1<1LN N Nr   c                     | j         t          j        u rt          t           t                    S t          t                     S r   r   r   r   r
   r   r   r   s     r   r   r   E   4    w!$$ !R   bS>>r   c                     | j         t          j        u rt          t           t                    S t          t                     S r   r&   r   s     r   r   r   K   r'   r   N)sympy.core.numbersr   r   r   sympy.core.singletonr   
sympy.corer   r   sympy.multipledispatchr	   
sympy.setsr
   r   r   r   registerr   r   r   r   <module>r/      sa   = = = = = = = = = = " " " " " " " " " " " " " " - - - - - - * * * * * * * * :j!!:j!! 
5%    !  
4   
8X&&N N '&N 
8X&&# # '&#
 
8-..+ + /.+ 
5%    !  
4   
8X&&N N '&N 
8X&&  '&
 
8-..  /.  r   