a
    lº”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   úK/var/www/auris/lib/python3.9/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 ]N}|t t| |ƒƒƒ}|j}tt|| ƒ||ƒƒt|| ƒ||ƒƒƒ}||ksHJ ‚qHd S )Nr   r   ÚaT)ÚrealÚb)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"J ‚t tddƒƒd jtddƒksDJ ‚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s2J ‚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sXJ ‚d S )Nr   r#   é
   é   é   é   é(   r)   r   r   r   r   Útest_Interval_Interval3   s    ÿÿr4   c                   C   sj   t tdddƒƒt tddƒƒ jtddddƒks2J ‚t tdddƒƒt tddƒƒ jtdddddƒksfJ ‚d S )Nr   r#   r-   r+   é   é   ©r   r   r   r   r   r   r   Útest_FiniteSet_FiniteSet:   s    ÿÿr8   c                   C   s0   t tddƒƒt tddƒƒ jtddƒks,J ‚d S )Nr   r#   r   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<J ‚d S )	Nr   r   r#   r-   r/   r1   r9   é   )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s6J ‚d S r(   r7   )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¤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s,J ‚|| t t dd¡ƒksJJ ‚|| t t dd¡ƒkshJ ‚|| 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szJ ‚||  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s2J ‚|d t t dd¡ƒksPJ ‚|| t t dd¡ƒksnJ ‚|| 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sDJ ‚|| t t dd¡ƒksbJ ‚|| 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súJ ‚|| t t dd¡ƒksJ ‚|| t t dd¡ƒks6J ‚|| t t dd¡ƒksTJ ‚|| t t tj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sHJ ‚||  t t tjd¡ƒkshJ ‚|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 t¡ƒksJ ‚|| t t d	d
¡ƒks6J ‚|| t t dd¡ƒksTJ ‚|| t t dd¡ƒksrJ ‚|| 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sFJ ‚|| t t dd¡ƒksdJ ‚|| 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ƒƒ}	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	sBJ ‚|	| 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
sHJ ‚||  t tddƒƒk
sdJ ‚d S )Nr   r#   éþÿÿÿr-   éýÿÿÿr+   éÿÿÿÿé   éüÿÿÿr6   éûÿÿÿr5   iúÿÿÿé	   r   iøÿÿÿé   iåÿÿÿ)r   r   ZLopenZRopenÚopenr   ÚHalfr   )Zi12ccZi12loZi12roZi12oZn23ccZn23loZn23roZn23oZn3n2ccZn32ccZn32loZn32ror   r   r   Útest_Interval_arithmeticU   s¾                    rH   c                  C   s”   t dƒ\} }}}t| |ƒ}t||ƒ}t||ƒ}t|ƒ}t|ƒjttt| t| ƒƒ|ƒtt| t| ƒƒ|ƒƒksnJ ‚t|ƒjtt| t| ƒƒ|ƒksJ ‚d S )Nzx y z w)	r   r   r   r   r   r   r   r	   r   )ÚxÚyÚzÚwZset1Zset2Ú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s0J ‚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ddƒƒƒks–J ‚t tddƒƒt tddƒƒ t tt tddƒƒƒksÌJ ‚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s4J ‚dt tddƒƒ t ttt dƒttjtƒƒƒksjJ ‚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+   r@   )r   r   r   r   r   r   rG   rF   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$J ‚t tddƒƒd t tddƒƒksHJ ‚t tddƒƒd t tddƒƒkslJ ‚t tddƒƒd t tddƒƒksJ ‚t tddƒƒd t tdƒƒks²J ‚t tddƒƒtddƒ t tddtdƒ ƒƒksäJ ‚t tddƒƒd	 t ttdd
ƒdƒƒksJ ‚t tddƒƒd	 t tdtƒƒks6J ‚t tddƒƒd	 t ttddƒtƒƒksbJ ‚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sVJ ‚t ttddƒtj	ƒƒt t tdƒƒks‚J ‚t tdtj	ƒƒt t tdƒƒks¨J ‚t ttj	dƒƒt t tdtƒƒksÐJ ‚t tddƒƒt t tdtƒƒksöJ ‚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shJ ‚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sDJ ‚t ttddƒtj	ƒƒt t tdƒƒkspJ ‚t ttddƒdƒƒt t tdtƒƒksœJ ‚t ttd	dƒdƒƒt t td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ƒƒksBJ ‚t td	tj	ƒƒt t tt tƒƒkslJ ‚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+   r@   r   r-   rA   r5   r>   é   r?   rE   rD   )r   r   r   r   r   r   r   rF   r   rG   rI   Ú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J ‚t tjƒt  t ttttt ƒtjƒƒ¡sJJ ‚t tjƒd t tjƒksfJ ‚t tjƒd  t tttdt ƒtjƒƒ¡s”J ‚t tjƒt  t ttttt ƒtjƒƒ¡sÂJ ‚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ƒƒƒ¡sJJ ‚d S )Nr   r@   r#   )
r   r   ZIntegersr
   rQ   r   r	   rR   Z
_eval_funcrI   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    rI   rR   r   r'   r*   r,   r.   r4   r8   r:   r<   r=   rH   rN   rO   rS   rT   r   r   r   r   Ú<module>   s6   	l&;