o
    oÇhÍ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J ‚t| tƒsJ ‚d S )Nr   é   )r   r   Ú
isinstanceÚsetr   r   )Úse© r   úq/var/www/html/construction_image-detection-poc/venv/lib/python3.10/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J ‚tdddtddd} }d\} }ttfD ]'}|t t| |ƒƒƒ}|j}tt|| ƒ||ƒƒt|| ƒ||ƒƒƒ}||ksKJ ‚q$d S )Nr   r   ÚaT)ÚrealÚb)r   é   )r   r   r   r   r   r   r   r   )r    r"   ÚfÚ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J ‚t tddƒƒd jtddƒks"J ‚d S ©Nr   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J ‚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sJ ‚d S )Nr   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J ‚t tddƒƒt tddƒƒ jtddƒks,J ‚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sJ ‚t tdddƒƒt tddƒƒ jtdddddƒks3J ‚d S )Nr   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J ‚d S )Nr   r#   r   r0   é   )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J ‚d S )	Nr   r   r#   r.   r0   r2   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sJ ‚d S r)   r8   )r    r"   r   r   r   Ú$test_same_setexprs_are_not_identicalL   s   r>   c                  C   sV
  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sRJ ‚| |  t tddƒƒks_J ‚| |  t tddƒƒkslJ ‚| |  t ttjdƒƒkszJ ‚| d t tddƒƒks‡J ‚| d t tddƒƒks”J ‚|| t t dd¡ƒks¢J ‚|| t t dd¡ƒks°J ‚|| t t dd¡ƒks¾J ‚|| t t tjd¡ƒksÍJ ‚|| t t dd¡ƒksÛJ ‚|| t t dd¡ƒkséJ ‚|| t t dd¡ƒks÷J ‚|| t t tjd¡ƒksJ ‚||  t t dd¡ƒksJ ‚||  t t dd¡ƒks%J ‚||  t t dd¡ƒks4J ‚||  t t tjd¡ƒksDJ ‚|| t t dd¡ƒksSJ ‚|| t t dd¡ƒksbJ ‚|| t t dd¡ƒksqJ ‚|| t t tjd¡ƒksJ ‚|d t t dd¡ƒksJ ‚|d t t dd¡ƒksŸJ ‚|| t t dd¡ƒks®J ‚|| t t dd¡ƒks½J ‚|| t t dd¡ƒksÌJ ‚|| t t tjd¡ƒksÜJ ‚||  t t dd¡ƒksëJ ‚||  t t dd¡ƒksúJ ‚||  t t dd¡ƒks	J ‚||  t t tjd¡ƒksJ ‚|| t t dd¡ƒks(J ‚|| t t dd¡ƒks7J ‚|| t t dd¡ƒksFJ ‚|| t t tjd¡ƒksVJ ‚|d t t dd¡ƒkseJ ‚|d t t dd¡ƒkstJ ‚|| t t dd¡ƒksƒJ ‚|| t t dd¡ƒks’J ‚|| t t dd¡ƒks¡J ‚|| t t tjd¡ƒks±J ‚|| t t dd¡ƒksÀJ ‚|| t t dd¡ƒksÏJ ‚|| t t dd¡ƒksÞJ ‚|| t t tjd¡ƒksîJ ‚||  t t dd¡ƒksýJ ‚||  t t dd¡ƒksJ ‚||  t t dd¡ƒksJ ‚||  t t tjd¡ƒks+J ‚|d t t dd¡ƒks:J ‚|d t t dd¡ƒksIJ ‚|| t td	d
ƒƒksWJ ‚|| t tddƒƒkseJ ‚|| t tddƒƒkssJ ‚|| t t t t¡ƒksƒJ ‚|| t t d	d
¡ƒks’J ‚|| t t dd¡ƒks¡J ‚|| t t dd¡ƒks°J ‚|| t t t t¡ƒksÀJ ‚|| t t d	d
¡ƒksÏJ ‚|| t t dd¡ƒksÞJ ‚|| t tddƒƒksìJ ‚|| t t t t¡ƒksüJ ‚|| t t d	d
¡ƒksJ ‚|| t t dd¡ƒksJ ‚|| t t dd¡ƒks)J ‚|| t t t t¡ƒks9J ‚|d t tddƒƒksGJ ‚|d t tddƒƒksUJ ‚t tddƒƒ}	t t dd¡ƒ}
t t dd¡ƒ}|	|
 t t dd¡ƒks{J ‚|	|	 t tddƒƒks‰J ‚|
|	 t t dd¡ƒks˜J ‚|	| t tddƒƒks¦J ‚|
| t t dd¡ƒksµJ ‚|	|
 t t t t¡ƒksÅJ ‚| |
 t t t t¡ƒksÕJ ‚|d t tddƒƒksãJ ‚|d t tddƒƒksñJ ‚||  t tddƒƒksÿJ ‚||  t td	dƒƒksJ ‚||  t td	d
ƒƒksJ ‚||  t tddƒƒks)J ‚d S )Nr   r#   éþÿÿÿr.   éýÿÿÿr,   éÿÿÿÿé   éüÿÿÿr7   éûÿÿÿr6   iúÿÿÿé	   r   iøÿÿÿé   iåÿÿÿ)r   r   ÚLopenÚRopenÚopenr   ÚHalfr   )Úi12ccÚi12loÚi12roÚi12oÚn23ccÚn23loÚn23roÚn23oÚn3n2ccÚn32ccÚn32loÚn32ror   r   r   Útest_Interval_arithmeticU   s¾                   rW   c                  C   s”   t dƒ\} }}}t| |ƒ}t||ƒ}t||ƒ}t|ƒ}t|ƒjttt| t| ƒƒ|ƒtt| t| ƒƒ|ƒƒks7J ‚t|ƒjtt| t| ƒƒ|ƒksHJ ‚d S )Nzx y z w)	r   r   r   r   r   r   r   r	   r   )ÚxÚyÚzÚwÚset1Úset2Úinterr   r   r   r   Útest_SetExpr_IntersectionÁ   s   




þ&r_   c                   C   s  t tddƒƒt tddƒƒ t tt tƒƒksJ ‚t tddƒƒt tddƒƒ t tt tƒƒks0J ‚t tddƒƒt tddƒƒ t tt tddƒƒƒksKJ ‚t tddƒƒt tddƒƒ t tt tddƒƒƒksfJ ‚t tddƒƒt tddƒƒ t ttddƒtƒƒks€J ‚t tddƒƒt tddƒƒ t tt tƒƒks˜J ‚dt tddƒƒ t ttt dƒttjtƒƒƒks²J ‚dt tddƒƒ t ttjtƒƒksÅJ ‚dt tddƒƒ t tt tddƒƒƒksÛJ ‚dt tt dƒƒ t t t d¡ƒksðJ ‚dt tddƒƒ t tt dƒƒksJ ‚d S )	Nr@   r?   r   r#   r.   r   r,   rA   )r   r   r   r   r   r   rJ   rI   r   r   r   r   Útest_SetExpr_Interval_divÍ   s   0066404&,*,r`   c                   C   s&  t tddƒƒd t tddƒƒksJ ‚t tddƒƒd t tddƒƒks$J ‚t tddƒƒd t tddƒƒks6J ‚t tddƒƒd t tddƒƒksHJ ‚t tddƒƒd t tdƒƒksYJ ‚t tddƒƒtddƒ t tddtdƒ ƒƒksrJ ‚t tddƒƒd	 t ttdd
ƒdƒƒks‡J ‚t tddƒƒd	 t tdtƒƒks™J ‚t tddƒƒd	 t ttddƒtƒƒks®J ‚t tddƒƒd t ttt dƒttddƒtƒƒƒksÊJ ‚t tdd	ƒƒd t ttddƒtddƒƒƒksâJ ‚t tdd	ƒƒd	 t ttddƒtddƒƒƒksúJ ‚t tt dƒƒd	 t t dt¡ƒksJ ‚t td	dƒƒd	 t ttddƒtƒƒks%J ‚t ttddƒtj	ƒƒt t tdƒƒks;J ‚t tdtj	ƒƒt t tdƒƒksNJ ‚t ttj	dƒƒt t tdtƒƒksbJ ‚t tddƒƒt t tdtƒƒksuJ ‚t tddƒƒt t ttƒƒks‡J ‚t tddƒƒt t tdtƒƒksšJ ‚t ttj	dƒƒt t tdtƒƒks®J ‚t ttddƒtddƒƒƒt t tdƒƒksÆJ ‚t tdtddƒƒƒt t tt tƒƒksÝJ ‚t tdd	ƒƒt t tt tƒƒksñJ ‚t td	dƒƒt t tt tƒƒksJ ‚t td	tddƒƒƒt t tt tƒƒksJ ‚t ttddƒtj	ƒƒt t tdƒƒks2J ‚t ttddƒdƒƒt t tdtƒƒksHJ ‚t ttd	dƒdƒƒt t tdtƒƒks^J ‚t tddƒƒt t tt tƒƒksrJ ‚t tdtj	ƒƒt t tt tƒƒks‡J ‚t tddƒƒt t tt tƒƒks›J ‚t td	tj	ƒƒt t tt tƒƒks°J ‚t tddƒƒt
  t ttttt
 ƒtddƒƒƒ¡sÌJ ‚t tddƒƒt  t tdƒƒksßJ ‚t tddƒƒt  t tdtƒƒksóJ ‚t tddƒƒt   t ttttt  ƒtddƒƒƒ¡sJ ‚d S )Nr   r#   r,   rA   r   r.   rB   r6   r?   é   r@   rF   rE   )r   r   r   r   r   r   r   rI   r   rJ   rX   Údummy_eqr   r	   Ú_dr   r   r   r   Útest_SetExpr_Interval_powó   sJ   $$$$"2*
$*800*,,&(&$&(0.((.,,,(*(*8&(@rd   c                
   C   sJ  t tjƒd t tjƒksJ ‚t tjƒt  t ttttt ƒtjƒƒ¡s%J ‚t tjƒd t tjƒks3J ‚t tjƒd  t tttdt ƒtjƒƒ¡sJJ ‚t tjƒt  t ttttt ƒtjƒƒ¡saJ ‚t tjƒ tt	tt	 d ƒ¡ t ttttt d ƒtjƒƒ¡s‚J ‚t tjƒt d  t ttt	t	d ƒttttt ƒtjƒƒƒ¡s£J ‚d S )Nr   rA   r#   )
r   r   ÚIntegersr
   rb   r   r	   rc   Ú
_eval_funcrX   r   r   r   r   Útest_SetExpr_Integers.  s&   ÿÿÿÿÿÿrg   N)3Úsympy.sets.setexprr   Ú
sympy.setsr   r   r   r   r   Úsympy.core.exprr   Úsympy.core.functionr	   Úsympy.core.numbersr
   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr   r   r   Ú&sympy.functions.elementary.exponentialr   r   Ú(sympy.functions.elementary.miscellaneousr   r   r   Ú(sympy.functions.elementary.trigonometricr   Úsympy.sets.setsr   r    rX   rc   r   r(   r+   r-   r/   r5   r9   r;   r=   r>   rW   r_   r`   rd   rg   r   r   r   r   Ú<module>   s8    	l&;