a
    {d@                     @   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 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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"m#Z#m$Z$m%Z%m&Z& d dlm'Z'm(Z(m)Z)m*Z* d dl+m,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/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/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*d+ Z0e-.e!ed,d Z/e-.e"ed-d Z/d.S )/    )Lambdaexpand_complex)Mul)ilcm)Eq)S)Dummysymbols)ordered)sign)floorceiling)ComplexRegion)	FiniteSetIntersectionIntervalSetUnion)
Dispatcher)ConditionSet)IntegersNaturalsRealsRangeImageSet	Rationals)EmptySetUniversalSetimageset
ProductSet)numerintersection_setsc                 C   s   d S N abr#   r#   i/var/www/html/stable-diffusion-webui/venv/lib/python3.9/site-packages/sympy/sets/handlers/intersection.py_   s    r(   c                 C   s   t | j| jt| j|S r"   )r   sym	conditionr   base_setr$   r#   r#   r'   r(      s    c                 C   s   | S r"   r#   r$   r#   r#   r'   r(      s    c                 C   s   | t ju r| S |S r"   )r   r   r$   r#   r#   r'   r(   #   s    c                 C   s
   t || S r"   )r!   r$   r#   r#   r'   r(   '   s    c                 C   s  |j r| js$|js$tt| j|jS | jr|jr| j| j }}|j|j }}t||}t||}dtj |v rxtj	|v sdtj |v rtj	|v rt
|td}t|| ddS |tjrg }tdtdd}	| js| jD ]$}
tj	|
jd v r||
jd  qt
| }t||S | jr| jD ]x}
tj	|
jd v rH||
jd  tj|
jd v rx|tt|	|	 |
jd  tj	|
jd v r"|td q"t
| }t||S d S )N   r   T)polarx)clsreal   )Zis_ComplexRegionr-   r   r   setsZ
a_intervalZ
b_intervalr   PiZZeror   r   	is_subsetr   r	   r   Zpsetsargsappendr   r   )selfotherr1Ztheta1r2Ztheta2Znew_r_intervalZnew_theta_intervalnew_intervalr.   elementr#   r#   r'   r(   +   sL    




c                 C   s   | S r"   r#   r$   r#   r#   r'   r(   Z   s    c                 C   s   t dd | j|jd d  D s&d S | jdkr6tjS tt|j| j}||vrX|d7 }tt	|j
| j
}||vrz|d8 }t| t||d S )Nc                 s   s   | ]}|j V  qd S r"   Z	is_number.0ir#   r#   r'   	<genexpr>a       _.<locals>.<genexpr>r,   r   r1   )allr5   sizer   r   r   maxinfr   minsupr!   r   )r%   r&   startendr#   r#   r'   r(   ^   s    "
c                 C   s   t | t|jtjS r"   )r!   r   rG   r   Infinityr$   r#   r#   r'   r(   r   s    c                    s  t dd | |fD sd S |s$tjS | s.tjS |j| jk r@tjS |j| jkrRtjS | }|jjrd|j}|}|jjrv|j}|jjr|S |jjr| S ddlm	} dd }|||t
d||t
d \}}|d u o|d u }|rtjS | d }	|||	}
 fd	d
}tt|j|j |||
}|d u r.tjS |||
}|d u rHtjS  fdd}|| |}|||}t|jdk r~|j}t|jdk r|j}t|j|j}t|j|j}t|| S )Nc                 s   s"   | ]}t d d |jD V  qdS )c                 s   s   | ]}|j V  qd S r"   r=   )r?   vr#   r#   r'   rA   y   rB   z_.<locals>.<genexpr>.<genexpr>N)rD   r5   )r?   rr#   r#   r'   rA   y   rB   rC   r   )diop_linearc                 S   s   | j || j  S r"   )rJ   step)rN   r@   r#   r#   r'   <lambda>   rB   z_.<locals>.<lambda>r%   r&   c                    sl   || j kr|S t| j |   }t|| j | |d }|| j krBnt| jt|kr\||8 }|| vrhd S |S )N)rJ   r   r   rP   )r9   csts1rP   r#   r'   _first_finite_point   s    

z_.<locals>._first_finite_pointc                    s<   t | j  }| jjr&t|| j|}nt| j|| |}|S r"   )r   rP   rJ   	is_finiter   stop)rN   firstrT   rvrV   r#   r'   _updated_range   s
    z_.<locals>._updated_range)rD   r   r   rI   rG   rJ   is_infinitereversedZ%sympy.solvers.diophantine.diophantinerO   r   Zas_coeff_Addabsr   rP   r   rF   rH   rY   r   )r%   r&   r9   r:   rO   eqvaZvbZno_solutionZa0rS   rW   rU   s2r\   rJ   rY   r#   rV   r'   r(   v   s\    $






c                 C   s   | S r"   r#   r$   r#   r#   r'   r(      s    c                 C   s   | S r"   r#   r$   r#   r#   r'   r(      s    c           $   	      sZ  ddl m} t| jjdks,| jj| jjkr0d S | jd }|tju rd }t	|t
r|jtjfkr|jj}|jjd }td}|||}n|tju rtd }}|d ur| jj | jjd zt| | |fdd}W n ttfy   Y d S 0 t|dkrtjS tdd |D rrt|dkrl|d \}}	|j\}
 ||
 }tt|tjS d S nt fd	d|D  S |tjkr|dd
lm}m fdd}| jj}| jjd tjdd}||}| \}}t|}||}||}|j}t|}|jr&n:|jdu r8tjS |hkrHd S ||t !t"|M }||||8 }t||S t	|t#rVddl$m%}m&}m'} | jj}| jjd d\}}|j(|j) }}|j*r|}n|}|||j+\}}|||j,\}} t-dd || fD rR|kr6t|dkr6|j.d }|krXt| dkrX| j.d }tdd ||fD rtd S tj}!t-dd ||fD r||kr|| }}t#||||}"|/|"}!n<|0tjr||tj}#t	|!t
t1fs|#/|}!nd S |!tju rtjS t	|!t2r4|!j3tj4ur4tt|! }!|!d urNtt||!S d S d S d S )Nr   )diophantiner1   mT)ZsymsZpermutec                 s   s   | ]}|D ]}|j V  q
qd S r"   )free_symbols)r?   Ztuplsr#   r#   r'   rA     rB   rC   c                 3   s   | ]}  |d  V  qdS )r   N)subs)r?   rf   )fnnr#   r'   rA   (  rB   )denomssolve_linearc                    sV   g }| D ]D} |d|g\}}||kr6| t| q| t|t|d qt| S )Nr   )r6   r   r   r   r   )exprsr)   Zsolsr@   r.   Zxis)rk   r#   r'   _solution_union-  s    z_.<locals>._solution_union)r0   F)invert_realinvert_complexsolveset)NNc                 s   s   | ]}t |tV  qd S r"   )
isinstancer   r>   r#   r#   r'   rA   k  rB   c                 s   s   | ]}|d u V  qd S r"   r#   r>   r#   r#   r'   rA   v  rB   c                 s   s   | ]}|j V  qd S r"   )is_realr>   r#   r#   r'   rA   |  rB   )5Zsympy.solvers.diophantinerc   lenZlamda	variables	signatureZ	base_setsr   r   rq   r   exprr   rg   list	TypeErrorNotImplementedErrorr   anyre   expandr   r   r   r   Zsympy.solvers.solversrj   rk   nameZas_real_imagr   is_zeror   Z	make_argsr    r   Zsympy.solvers.solvesetrn   ro   rp   	left_open
right_openrr   rG   rI   rD   r5   	intersectr4   r   r   rE   rL   )$r7   r8   rc   r+   Zgmvarrd   ZsolnsZsolnZsolmtrv   rj   rm   fZn_Zf_reZimZifreeZlamrn   ro   rp   Znew_infZnew_supZ	new_lopenZ	new_ropenZinverterZg1h1Zg2h2Z	range_setr;   Z	solutionsr#   )rh   ri   rk   r'   r(      s    
	










c                 C   s6   t |jt | jkrtjS tdd t| j|jD  S )Nc                 s   s   | ]\}}| |V  qd S r"   )r   )r?   r@   jr#   r#   r'   rA     rB   rC   )rs   r5   r   r   r   zipr2   r$   r#   r#   r'   r(     s    c           
      C   sb  t jt jf}| t| krF| j| j }}|jsB||v sB|jsB||v rF|S | |sTd S d}| j|j	krD|j| j	krD| j|jk r|j}|j
}n<| j|jkr| j}| j
}n"tt| |gd j}| j
p|j
}| j	|j	k r| j	}| j}	n@| j	|j	kr |j	}|j}	n$tt| |gd j	}| jp"|j}	|| dkrH|s>|	rHd}nd}|rTt jS t||||	S )NFr   T)r   NegativeInfinityrL   r   leftrightrr   Z_is_comparablerJ   rK   r~   rw   r
   r   r   )
r%   r&   ZinftylrN   emptyrJ   r~   rK   r   r#   r#   r'   r(     s>    
c                 C   s   t jS r"   )r   r   r$   r#   r#   r'   r(     s    c                 C   s   |S r"   r#   r$   r#   r#   r'   r(     s    c                 C   s   t | j|j@  S r"   )r   Z	_elementsr$   r#   r#   r'   r(     s    c                    s2   zt  fdd| D  W S  ty,   Y d S 0 d S )Nc                    s   g | ]}| v r|qS r#   r#   )r?   elr&   r#   r'   
<listcomp>  rB   z_.<locals>.<listcomp>)r   rx   r$   r#   r   r'   r(     s    c                 C   s   d S r"   r#   r$   r#   r#   r'   r(     s    c                 C   s   | S r"   r#   r$   r#   r#   r'   r(     s    c                 C   s   | S r"   r#   r$   r#   r#   r'   r(     s    c                 C   s   | S r"   r#   r$   r#   r#   r'   r(     s    c                 C   sf   zL|j tju r |jtju r | W S tt| jt|j	t
|jd }t||W S  ty`   Y d S 0 d S )Nr1   )_infr   r   Z_suprL   r   rF   rG   r   r   r   r   r!   
ValueError)r%   r&   rf   r#   r#   r'   _intlike_interval  s    "r   c                 C   s
   t | |S r"   r   r$   r#   r#   r'   r(     s    c                 C   s
   t | |S r"   r   r$   r#   r#   r'   r(      s    N)1Zsympy.core.functionr   r   Zsympy.core.mulr   Zsympy.core.numbersr   Zsympy.core.relationalr   Zsympy.core.singletonr   Zsympy.core.symbolr   r	   Zsympy.core.sortingr
   Z$sympy.functions.elementary.complexesr   Z#sympy.functions.elementary.integersr   r   Zsympy.sets.fancysetsr   Zsympy.sets.setsr   r   r   r   r   Zsympy.multipledispatchr   Zsympy.sets.conditionsetr   r   r   r   r   r   r   r   r   r   r   Zsympy.simplify.radsimpr    r!   registerr(   r   r#   r#   r#   r'   <module>   s    











.







r





 $



1















	


