
    \h2                     
   S SK JrJr  S SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJrJr  \" S5      u  rr\" S5      r\" S	5      r\R%                  \\5      S
 5       r\R%                  \\5      S 5       r\R%                  \\5      S 5       r\R%                  \\5      S 5       r\R%                  \\5      S 5       r\R%                  \\5      S 5       r\R%                  \\5      S 5       r\R%                  \\5      S 5       rg)    )BasicExpr)oo)symbols)
Dispatcher)set_mul)IntervalSetzx y_set_mul_set_divc                     g N xys     O/var/www/auris/envauris/lib/python3.13/site-packages/sympy/sets/handlers/mul.py_r              c                     g r   r   r   s     r   r   r      r   r   c                 
    X-  $ r   r   r   s     r   r   r      	    3Jr   c                 V   U R                   UR                   -  [        U R                  =(       d    UR                  5      4U R                   UR                  -  [        U R                  =(       d    UR                  5      4U R                  UR                   -  [        U R                  =(       d    UR                  5      4U R                  UR                  -  [        U R                  =(       d    UR                  5      44n[        U5      u  p4[        U5      u  pV[        UUUU5      $ )zZ
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maxopens          r   r   r      s     
177	D!;<=	
155$q{{:all;<	
$q||:q{{;<	
Q\\9Q\\:;	G 'lOF'lOF	 r   c                     g r   r   r   s     r   r   r   3   r   r   c                 
    X-  $ r   r   r   s     r   r   r   7   r   r   c                     g r   r   r   s     r   r   r   ;   r   r   c           	      l   UR                   UR                  -  R                  (       a  [        [        * [        5      $ UR                   S:X  a  [        nOSUR                   -  nUR                  S:X  a  [        * nOSUR                  -  n[        U [        X2UR                  UR                  5      5      $ )zT
Divisions in interval arithmetic
https://en.wikipedia.org/wiki/Interval_arithmetic
r      )r   r   is_negativer	   r   r   r   r   )r   r   s2s1s       r   r   r   ?   s     	
""R  ww!|qwwYuuzSquuW1hrq||Q[[ABBr   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   <module>r8      sF   " ! % - & ) 
B j!j! 
5%  ! 
3  
4  
8X& ', 
5%  ! 
4  
3  
8X&C 'Cr   