o
    hr                     @   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   O/var/www/html/ai/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
rt|t| jS | jj
rt|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    










/

