U
    9%er                     @   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   X/var/www/html/Darija-Ai-API/env/lib/python3.8/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   sv  | j | }| j| }|dkr$||kn| j| j  kdkrH| j}| j}|}n| j}| j}|}| j jrztt||t||||S | jjrtt||t||||S |j	r|j r| j j
rt|t| jS | jj
rtt |d| jS ttt |d| jt|t| jS t||| j| jS n`|jrr|jr\| j j
r:t|t| jS | jj
rRt|t| jS tdtS ttj|tj| k|S dS )z]
    Powers in interval arithmetic
    https://en.wikipedia.org/wiki/Interval_arithmetic
    r   TN)startend	left_open
right_openZis_positiver   r   r   is_negativeZis_oddis_zeror   r   Zis_evenr
   r   )r   exponents1s2r#   r$   Zsleftr   r   r   r   #   sN    

"    "


c                 C   s   | j jr:| jdk rttjS | j dkr0ttjS tdtS | jj	rx| j dkrVttjS | jdk rltt tS tt tS | j dkr| jdk rttjS tdtS tt tS d S )N   r   )
r!   Z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   r,   r   r   r   r   i   s    N)"Z
sympy.corer   r   Zsympy.core.functionr   Zsympy.core.numbersr   r   r   r   r	   Zsympy.core.singletonr
   Zsympy.core.symbolr   Z(sympy.functions.elementary.miscellaneousr   r   Zsympy.sets.fancysetsr   Zsympy.sets.setexprr   Zsympy.sets.setsr   r   r   r   Zsympy.multipledispatchr   r   r   r   registerr   r   r   r   r   <module>   s2   









/


