o
    jgr  ã                   @   s@  d dl mZmZ d dlmZ d dlmZmZmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZmZ d dlmZ d dlmZ d d	lmZmZmZmZ d d
lmZ edƒ\Z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!dS )é    )ÚBasicÚExpr)ÚLambda)ÚooÚInfinityÚNegativeInfinityÚZeroÚInteger)ÚS)Úsymbols)ÚMaxÚMin)ÚImageSet)Úset_div)ÚSetÚIntervalÚ	FiniteSetÚUnion)Ú
Dispatcherzx yÚ_set_powc                 C   s   d S ©N© ©ÚxÚyr   r   úQ/var/www/html/zoom/venv/lib/python3.10/site-packages/sympy/sets/handlers/power.pyÚ_   s   r   c                 C   s   t tttftt ƒ| |ƒS r   )r   r   Ú_xÚ_yr   r   r   r   r      s   c                 C   s   | | S r   r   r   r   r   r   r      s   c                 C   s
   t tjƒS r   )r   r
   ÚOne)r   Úzr   r   r   r      s   
c                 C   sh  | j | }| j| }|dkr||kn| j| j  kdkr$| j}| j}|}n| j}| j}|}| j jr=tt||ƒt||ƒ||ƒS | jjrNtt||ƒt||ƒ||ƒS |j	r†|jr}| j j
r_t|t| jƒS | jj
rltt |d| jƒS ttt |d| jƒt|t| jƒƒS t||| j| jƒS |jr²|jr§| j j
r—t|t| jƒS | jj
r¢t|t| jƒS tdtƒS ttj|tj| v|ƒS dS )z]
    Powers in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    r   TN)ÚstartÚendÚ	left_openÚ
right_openÚis_positiver   r   r   Úis_negativeÚis_oddÚis_zeror   r   Úis_evenr
   r   )r   ÚexponentÚs1Ús2r#   r$   Úsleftr   r   r   r   #   sH   

"þþ"
øc                 C   s¬   | j jr| jdk rttjƒS | j dkrttjƒS tdtƒS | jj	r<| j dkr+ttjƒS | jdk r6tt tƒS tt tƒS | j dkrP| jdk rKttjƒS tdtƒS tt tƒS )Né   r   éÿÿÿÿ)
r!   Úis_nonnegativer"   r   r
   r   r   r   r   r&   ©ÚbÚer   r   r   r   S   s"   











c                 C   s   t ttj| ƒtƒS r   )r   r   r
   r   r   r1   r   r   r   r   i   s   N)"Ú
sympy.corer   r   Úsympy.core.functionr   Úsympy.core.numbersr   r   r   r   r	   Úsympy.core.singletonr
   Úsympy.core.symbolr   Ú(sympy.functions.elementary.miscellaneousr   r   Úsympy.sets.fancysetsr   Úsympy.sets.setexprr   Úsympy.sets.setsr   r   r   r   Úsympy.multipledispatchr   r   r   r   Úregisterr   r   r   r   r   Ú<module>   s4    










/

