o
    GZŽ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   úL/var/www/auris/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"   Ú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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   ÿÿr4   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   ÿÿ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sJ ‚d S r(   r7   )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+   éÿÿÿÿé   éüÿÿÿ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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Ú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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+   r@   )r   r   r   r   r   r   rG   rF   r   r   r   r   Útest_SetExpr_Interval_divÍ   s   0066404&,*,rO   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+   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*
$*800*,,&(&$&(0.((.,,,(*(*8&(@rS   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   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>   s8    	l&;