U
    	Ç-eÍ9  ã                   @   s@  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 d dlmZ d dlmZmZmZ d dlmZmZ d d	lmZmZmZ d d
lmZ d dlm Z  edƒ\Z!Z"edƒZ#dd„ Z$dd„ Z%dd„ Z&dd„ Z'dd„ Z(dd„ Z)dd„ Z*dd„ Z+dd„ Z,d d!„ Z-d"d#„ Z.d$d%„ Z/d&d'„ Z0d(d)„ Z1d*d+„ Z2d,S )-é    )ÚSetExpr)ÚIntervalÚ	FiniteSetÚIntersectionÚImageSetÚUnion)ÚExpr)ÚLambda)ÚIÚRationalÚoo)ÚS)ÚDummyÚSymbolÚsymbols)ÚexpÚlog)ÚMaxÚMinÚsqrt)Úcos)ÚSetza, xÚdc                  C   s0   t tddƒƒ} t| jtƒst‚t| tƒs,t‚d S )Nr   é   )r   r   Ú
isinstanceÚsetr   ÚAssertionErrorr   )Úse© r   ú^/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/sets/tests/test_setexpr.pyÚtest_setexpr   s    r    c                  C   sœ   t tddƒƒjtddƒkst‚tdddtddd } }d\} }ttfD ]N}|t t| |ƒƒƒ}|j}tt|| ƒ||ƒƒt|| ƒ||ƒƒƒ}||ksHt‚qHd S )Nr   r   ÚaT)ÚrealÚb)r   é   )	r   r   r   r   r   r   r   r   r   )r!   r#   ÚfZinput_seÚoutputÚexpectedr   r   r   Útest_scalar_funcs   s    &r(   c                   C   sH   t tddƒƒd jtddƒks"t‚t tddƒƒd jtddƒksDt‚d S ©Nr   r   r$   ©r   r   r   r   r   r   r   r   Útest_Add_Mul%   s    "r+   c                   C   s&   t tddƒƒd jtddƒks"t‚d S )Nr   r$   é   r*   r   r   r   r   Útest_Pow*   s    r-   c                   C   s6   t ttddƒƒd d ƒjtt dƒt dƒƒks2t‚d S )Nr   r   r$   é   )r   r   r   r   r   r   r   r   r   Útest_compound.   s    ÿr/   c                   C   s\   t tddƒƒt tddƒƒ jtddƒks,t‚t tddƒƒt tddƒƒ jtddƒksXt‚d S )Nr   r$   é
   é   é   é   é(   r*   r   r   r   r   Útest_Interval_Interval3   s    ÿÿr5   c                   C   sj   t tdddƒƒt tddƒƒ jtddddƒks2t‚t tdddƒƒt tddƒƒ jtdddddƒksft‚d S )Nr   r$   r.   r,   é   é   ©r   r   r   r   r   r   r   r   Útest_FiniteSet_FiniteSet:   s    ÿÿr9   c                   C   s0   t tddƒƒt tddƒƒ jtddƒks,t‚d S )Nr   r$   r   r0   é   )r   r   r   r   r   r   r   r   r   Útest_Interval_FiniteSetA   s    ÿr;   c                   C   s@   t tddƒƒt tddƒƒ t tdddƒƒ jtddƒks<t‚d S )	Nr   r   r$   r.   r0   r2   r:   é   )r   r   r   r   r   r   r   r   r   Útest_Many_SetsF   s    ÿþþr=   c                  C   s:   t tddƒƒ} t tddƒƒ}| | jtdddƒks6t‚d S r)   r8   )r!   r#   r   r   r   Ú$test_same_setexprs_are_not_identicalL   s    r>   c                  C   sh
  t tddƒƒ} t t dd¡ƒ}t t dd¡ƒ}t t dd¡ƒ}t tddƒƒ}t t dd¡ƒ}t t dd¡ƒ}t t dd¡ƒ}t tddƒƒ}| |  t tddƒƒks¤t‚| |  t tddƒƒks¾t‚| |  t tddƒƒksØt‚| |  t ttjdƒƒksôt‚| d t tddƒƒkst‚| d t tddƒƒks,t‚|| t t dd¡ƒksJt‚|| t t dd¡ƒksht‚|| t t dd¡ƒks†t‚|| t t tjd¡ƒks¦t‚|| t t dd¡ƒksÄt‚|| t t dd¡ƒksât‚|| t t dd¡ƒks t‚|| t t tjd¡ƒks t‚||  t t dd¡ƒks>t‚||  t t dd¡ƒks\t‚||  t t dd¡ƒkszt‚||  t t tjd¡ƒksšt‚|| t t dd¡ƒks¸t‚|| t t dd¡ƒksÖt‚|| t t dd¡ƒksôt‚|| t t tjd¡ƒkst‚|d t t dd¡ƒks2t‚|d t t dd¡ƒksPt‚|| t t dd¡ƒksnt‚|| t t dd¡ƒksŒt‚|| t t dd¡ƒksªt‚|| t t tjd¡ƒksÊt‚||  t t dd¡ƒksèt‚||  t t dd¡ƒkst‚||  t t dd¡ƒks$t‚||  t t tjd¡ƒksDt‚|| t t dd¡ƒksbt‚|| t t dd¡ƒks€t‚|| t t dd¡ƒksžt‚|| t t tjd¡ƒks¾t‚|d t t dd¡ƒksÜt‚|d t t dd¡ƒksút‚|| t t dd¡ƒkst‚|| t t dd¡ƒks6t‚|| t t dd¡ƒksTt‚|| t t tjd¡ƒkstt‚|| t t dd¡ƒks’t‚|| t t dd¡ƒks°t‚|| t t dd¡ƒksÎt‚|| t t tjd¡ƒksît‚||  t t dd¡ƒkst‚||  t t dd¡ƒks*t‚||  t t dd¡ƒksHt‚||  t t tjd¡ƒksht‚|d t t dd¡ƒks†t‚|d t t dd¡ƒks¤t‚|| t td	d
ƒƒksÀt‚|| t tddƒƒksÜt‚|| t tddƒƒksøt‚|| t t t t¡ƒkst‚|| t t d	d
¡ƒks6t‚|| t t dd¡ƒksTt‚|| t t dd¡ƒksrt‚|| t t t t¡ƒks’t‚|| t t d	d
¡ƒks°t‚|| t t dd¡ƒksÎt‚|| t tddƒƒksêt‚|| t t t t¡ƒks
t‚|| t t d	d
¡ƒks(t‚|| t t dd¡ƒksFt‚|| t t dd¡ƒksdt‚|| t t t t¡ƒks„t‚|d t tddƒƒks t‚|d t tddƒƒks¼t‚t tddƒƒ}	t t dd¡ƒ}
t t dd¡ƒ}|	|
 t t dd¡ƒk	st‚|	|	 t tddƒƒk	s$t‚|
|	 t t dd¡ƒk	sBt‚|	| t tddƒƒk	s^t‚|
| t t dd¡ƒk	s|t‚|	|
 t t t t¡ƒk	sœt‚| |
 t t t t¡ƒk	s¼t‚|d t tddƒƒk	sØt‚|d t tddƒƒk	sôt‚||  t tddƒƒk
st‚||  t td	dƒƒk
s,t‚||  t td	d
ƒƒk
sHt‚||  t tddƒƒk
sdt‚d S )Nr   r$   éþÿÿÿr.   éýÿÿÿr,   éÿÿÿÿé   éüÿÿÿr7   éûÿÿÿr6   iúÿÿÿé	   r   iøÿÿÿé   iåÿÿÿ)	r   r   ZLopenZRopenÚopenr   r   ÚHalfr   )Zi12ccZi12loZi12roZi12oZn23ccZn23loZn23roZn23oZn3n2ccZn32ccZn32loZn32ror   r   r   Útest_Interval_arithmeticU   s¾                    rI   c                  C   s”   t dƒ\} }}}t| |ƒ}t||ƒ}t||ƒ}t|ƒ}t|ƒjttt| t| ƒƒ|ƒtt| t| ƒƒ|ƒƒksnt‚t	|ƒjtt| t	| ƒƒ|ƒkst‚d S )Nzx y z w)
r   r   r   r   r   r   r   r	   r   r   )ÚxÚyÚzÚwZset1Zset2Zinterr   r   r   r   Útest_SetExpr_IntersectionÁ   s    



þ
rN   c                   C   s  t tddƒƒt tddƒƒ t tt tƒƒks0t‚t tddƒƒt tddƒƒ t tt tƒƒks`t‚t tddƒƒt tddƒƒ t tt tddƒƒƒks–t‚t tddƒƒt tddƒƒ t tt tddƒƒƒksÌt‚t tddƒƒt tddƒƒ t ttddƒtƒƒkst‚t tddƒƒt tddƒƒ t tt tƒƒks4t‚dt tddƒƒ t ttt dƒttjtƒƒƒksjt‚dt tddƒƒ t ttjtƒƒks’t‚dt tddƒƒ t tt tddƒƒƒksÀt‚dt tt dƒƒ t t t d¡ƒksìt‚dt tddƒƒ t tt dƒƒkst‚d S )	Nr@   r?   r   r$   r.   r   r,   rA   )	r   r   r   r   r   r   r   rH   rG   r   r   r   r   Útest_SetExpr_Interval_divÍ   s    0066626(.,rO   c                   C   s2  t tddƒƒd t tddƒƒks$t‚t tddƒƒd t tddƒƒksHt‚t tddƒƒd t tddƒƒkslt‚t tddƒƒd t tddƒƒkst‚t tddƒƒd t tdƒƒks²t‚t tddƒƒtddƒ t tddtdƒ ƒƒksät‚t tddƒƒd	 t ttdd
ƒdƒƒkst‚t tddƒƒd	 t tdtƒƒks6t‚t tddƒƒd	 t ttddƒtƒƒksbt‚t tddƒƒd t ttt dƒttddƒtƒƒƒksœt‚t tdd	ƒƒd t ttddƒtddƒƒƒksÎt‚t tdd	ƒƒd	 t ttddƒtddƒƒƒks t‚t tt dƒƒd	 t t dt¡ƒks*t‚t td	dƒƒd	 t ttddƒtƒƒksVt‚t ttddƒt	j
ƒƒt t tdƒƒks‚t‚t tdt	j
ƒƒt t tdƒƒks¨t‚t tt	j
dƒƒt t tdtƒƒksÐt‚t tddƒƒt t tdtƒƒksöt‚t tddƒƒt t ttƒƒkst‚t tddƒƒt t tdtƒƒks@t‚t tt	j
dƒƒt t tdtƒƒksht‚t ttddƒtddƒƒƒt t tdƒƒks˜t‚t tdtddƒƒƒt t tt tƒƒksÆt‚t tdd	ƒƒt t tt tƒƒksît‚t td	dƒƒt t tt tƒƒkst‚t td	tddƒƒƒt t tt tƒƒksDt‚t ttddƒt	j
ƒƒt t tdƒƒkspt‚t ttddƒdƒƒt t tdtƒƒksœt‚t ttd	dƒdƒƒt t tdtƒƒksÈt‚t tddƒƒt t tt tƒƒksðt‚t tdt	j
ƒƒt t tt tƒƒkst‚t tddƒƒt t tt tƒƒksBt‚t td	t	j
ƒƒt t tt tƒƒkslt‚t tddƒƒt  t ttttt ƒtddƒƒƒ¡s¤t‚t tddƒƒt  t tdƒƒksÊt‚t tddƒƒt  t tdtƒƒksòt‚t tddƒƒt   t ttttt  ƒtddƒƒƒ¡s.t‚d S )Nr   r$   r,   rA   r   r.   rB   r6   r?   é   r@   rF   rE   )r   r   r   r   r   r   r   r   rG   r   rH   rJ   Údummy_eqr   r	   Ú_dr   r   r   r   Útest_SetExpr_Interval_powó   sJ    $$$$"2
,&,:22*,,&(&$&(0.((.,,,(*(*8&(rS   c                
   C   sN  t tjƒd t tjƒkst‚t tjƒt  t ttttt ƒtjƒƒ¡sJt‚t tjƒd t tjƒksft‚t tjƒd  t tttdt ƒtjƒƒ¡s”t‚t tjƒt  t ttttt ƒtjƒƒ¡sÂt‚t tjƒ 	tt
tt
 d ƒ¡ t ttttt d ƒtjƒƒ¡st‚t tjƒt d  t ttt
t
d ƒttttt ƒtjƒƒƒ¡sJt‚d S )Nr   rA   r$   )r   r   ZIntegersr   r
   rQ   r   r	   rR   Z
_eval_funcrJ   r   r   r   r   Útest_SetExpr_Integers.  s&    ÿÿÿÿ
ÿÿrT   N)3Zsympy.sets.setexprr   Z
sympy.setsr   r   r   r   r   Zsympy.core.exprr   Zsympy.core.functionr	   Zsympy.core.numbersr
   r   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   r   Z&sympy.functions.elementary.exponentialr   r   Z(sympy.functions.elementary.miscellaneousr   r   r   Z(sympy.functions.elementary.trigonometricr   Zsympy.sets.setsr   r!   rJ   rR   r    r(   r+   r-   r/   r5   r9   r;   r=   r>   rI   rN   rO   rS   rT   r   r   r   r   Ú<module>   s6   	l&;