o
    jg2  ã                   @   s  d dl mZmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZ edƒ\Z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dS )é    )ÚBasicÚExpr)Úoo)Úsymbols)Ú
Dispatcher)Úset_mul)ÚIntervalÚSetzx yÚ_set_mulÚ_set_divc                 C   ó   d S ©N© ©ÚxÚyr   r   úO/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/sets/handlers/mul.pyÚ_   ó   r   c                 C   r   r   r   r   r   r   r   r      r   c                 C   s   | | S r   r   r   r   r   r   r      ó   c                 C   s’   | j |j  t| jp|jƒf| j |j t| jp|jƒf| j|j  t| jp%|jƒf| j|j t| jp2|jƒff}t|ƒ\}}t|ƒ\}}t||||ƒS )zf
    Multiplications in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    )ÚstartÚboolÚ	left_openÚendÚ
right_openÚminÚmaxr   )r   r   ÚcomvalsÚminvalÚminopenÚmaxvalÚmaxopenr   r   r   r      s   üüc                 C   r   r   r   r   r   r   r   r   3   r   c                 C   s   | | S r   r   r   r   r   r   r   7   r   c                 C   r   r   r   r   r   r   r   r   ;   r   c                 C   sh   |j |j jrtt tƒS |j dkrt}nd|j  }|jdkr#t }nd|j }t| t|||j|jƒƒS )z`
    Divisions in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    r   é   )r   r   Úis_negativer   r   r   r   r   )r   r   Ús2Ús1r   r   r   r   ?   s   



N)Ú
sympy.corer   r   Úsympy.core.numbersr   Úsympy.core.symbolr   Úsympy.multipledispatchr   Úsympy.sets.setexprr   Úsympy.sets.setsr   r	   Ú_xÚ_yr
   r   Úregisterr   r   r   r   r   Ú<module>   s2    














