a
    kº”hJ#  ã                   @   sT   d dl mZ d dlmZ dd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dS )é    ©Úinterval)Úraisesc                  C   s  t ddƒt ddddkdks J ‚t ddƒt ddddkdks@J ‚t ddƒt ddd dkdks`J ‚t ddƒt dd	ƒkd
ks|J ‚t ddƒt d	dƒkdks˜J ‚t ddƒt dd	ƒkd
ks´J ‚t dd	ƒt dd	ƒkdksÐJ ‚t ddƒt d	dƒkd
ksìJ ‚t ddƒt ddƒkdks
J ‚t ddddt ddƒkdks,J ‚t ddd dt ddƒkdksNJ ‚t ddƒdkdksfJ ‚t ddƒdkdks~J ‚t ddddt ddƒkdks J ‚t ddd dt ddƒkdksÂJ ‚t ddƒ} t | ƒt ddƒkdksèJ ‚| jdksøJ ‚d| v sJ ‚d| v sJ ‚d| v s"J ‚t ddƒ| v s6J ‚t dd	ƒ| vsJJ ‚d| vsXJ ‚d| vsfJ ‚t tdƒ tdƒƒ}d| v sˆJ ‚| |v s–J ‚t dtdƒƒ|v s®J ‚t tdƒ dƒ|v sÈJ ‚t ddƒ|v sÜJ ‚t dddd t dd	ƒkdks J ‚ttdd„ ƒ d S )Né   T©Úis_valid©TTF©TF©TNç      ø?é   ©NTr   é   ©FTéûÿÿÿéýÿÿÿ)NNé   é   é
   iúÿÿÿg333333Àg333333@Úinfgšd~ÅQÊgšd~ÅQJéÿÿÿÿéþÿÿÿc                   S   s   t dddƒS )Nr   r   r   r   © r   r   úa/var/www/auris/lib/python3.9/site-packages/sympy/plotting/intervalmath/tests/test_intervalmath.pyÚ<lambda>(   ó    ztest_interval.<locals>.<lambda>)r   ÚwidthÚfloatr   Ú
ValueError)ÚinterZinterbr   r   r   Útest_interval   sF       ÿ
"""
ÿ
r    c                  C   sJ  t ddƒt ddƒ t ddƒkdks&J ‚dt ddƒ t ddƒkdksFJ ‚t ddƒd t ddƒkdksfJ ‚dt dtdƒƒ t dtdƒƒk} | dks’J ‚dt dddd	 }|jdu s²J ‚dt ddd d	 }|jd u sÒJ ‚t dddd	t ddd d	 }|jdu süJ ‚t ddƒt d
dd d	 }|jd u s$J ‚t dddd	d }|jdu sFJ ‚d S )Nr   r   r   r   r   r   r   Fr   r   ©r   r   r   )ÚcompareÚar   r   r   Útest_interval_add+   s    &   r$   c                  C   sö   t ddƒt ddƒ t ddƒkdks&J ‚t ddƒd t ddƒkdksFJ ‚dt ddƒ t ddƒkdksfJ ‚dt dddd	 } | jdu s†J ‚t dd
d d	d } | jd u s¦J ‚t dddd	t ddƒ } | jdu sÌJ ‚t ddd d	t ddƒ } | jd u sòJ ‚d S )Nr   r   r   éüÿÿÿr   r   r   Fr   r   r   ©r   r   ©r#   r   r   r   Útest_interval_sub=   s    &  r(   c                  C   s:  t ddƒt ddƒk dksJ ‚t ddƒt ddƒk dks8J ‚t ddƒt ddƒk d	ksTJ ‚t ddƒt ddƒkdkspJ ‚t ddƒt d
dƒkdksŒJ ‚t ddƒt ddƒkdks¨J ‚t ddƒt dd
ƒkd	ksÄJ ‚t ddddt ddƒkdksäJ ‚t ddd dt ddƒkdksJ ‚t ddƒd
kdksJ ‚t ddƒdkdks6J ‚t ddƒdkd	ksNJ ‚t ddƒt ddƒkdkslJ ‚t ddƒt ddƒkdksŠJ ‚t ddƒt ddƒkd	ks¨J ‚t ddƒdkdksÀJ ‚t ddƒdkd	ksØJ ‚t ddƒdkdksðJ ‚t ddƒdkdksJ ‚t ddƒdkdks J ‚t ddƒdk d	ks8J ‚t ddƒdk dksPJ ‚t ddƒdkdkshJ ‚t ddƒdkd	ks€J ‚t ddƒt ddƒkdksžJ ‚t ddƒt dd
ƒkdks¼J ‚t ddƒt ddƒkd	ksÚJ ‚t ddƒdkdksòJ ‚t ddƒdkdks
J ‚t ddƒdkd	ks"J ‚dt ddƒkdks:J ‚t ddddt ddd dk } | dksdJ ‚t ddd dt ddddk } | dksŽJ ‚t ddd dt ddd dk } | dks¸J ‚t ddddt ddd dk} | dksâJ ‚t ddd dt ddddk} | dksJ ‚t ddd dt ddd dk} | dks6J ‚d S )Nr   r   r   r   r   r   r   r   r   r   é   Fr   )FF)FNr   é   gÍÌÌÌÌÌ@r   g333333ó?r	   r
   r   r   r'   r   r   r   Útest_interval_inequalityK   sX    ÿ"r+   c                  C   s*  t ddƒt ddƒ t ddƒkdks&J ‚t ddƒt ddƒ t ddƒk} | dksPJ ‚t ddƒt d	d
ƒ t d	dƒk} | dkszJ ‚t dd
ƒd t ddƒkdksšJ ‚d
t ddƒ t ddƒkdksºJ ‚d
t dddd } | jdu sÚJ ‚d
t ddd d } | jd u súJ ‚t ddddt ddd d } | jdu s&J ‚d S )Nr   r   r   r   é2   r   r   iöÿÿÿr   r   r)   r   Fr   r&   r'   r   r   r   Útest_interval_mul|   s    ÿ  r-   c                  C   s   t ddddd } | t tdƒ tdƒddks2J ‚t ddd dd } | t tdƒ tdƒd dksdJ ‚dt ddd d } | t tdƒ tdƒd dks–J ‚t ddƒd }|jdu s²J ‚t ddƒt d	dƒ }|jd u sÔJ ‚t ddƒt ddƒ }|jd u söJ ‚t d	dƒt d	dƒ }|jd u sJ ‚t d	dƒt ddƒ t d
dƒk}|dksFJ ‚t ddƒt ddƒ t ddƒk}|dksrJ ‚t d	dƒt ddƒ t d
dƒk}|dksžJ ‚t ddƒt ddƒ t ddƒk}|dksÊJ ‚t ddƒt ddƒ t ddƒk}|dksöJ ‚t ddƒt ddƒ t ddƒk}|dks"J ‚t d	dƒt ddƒ t d
dƒk}|dksNJ ‚t ddƒt ddƒ t ddƒk}|dkszJ ‚t d	dƒt ddƒ t ddƒk}|dks¦J ‚t ddƒt ddƒ t d
dƒk}|dksÒJ ‚t d	dƒt ddƒ t ddƒk}|dksþJ ‚t ddƒt ddƒ t ddƒk}|dks*J ‚t ddƒt ddƒ t d
dƒk}|dksVJ ‚t ddƒt ddƒ t ddƒk}|dks‚J ‚t d	dƒt ddƒ t ddƒk}|dks®J ‚t ddƒt ddƒ t ddƒk}|dksÚJ ‚t ddddd }|jdu süJ ‚d S )Nr   r   Fr   r   r   r   g      à?r   g       Àg      @r   g        g       @ç      à¿g      Ð¿g      ð¿r   ç       @r%   g       Àr   g      Àg      À?g      ð?ç      Ð?r   r   r!   )Údivr#   r   r   r   Útest_interval_div’   s`       r2   c                   C   sN   t tddƒƒ t tddddƒ t tddƒƒ t tddƒƒ t tddƒƒ d	S )
a  
    test that interval objects are hashable.
    this is required in order to be able to put them into the cache, which
    appears to be necessary for plotting in py3k. For details, see:

    https://github.com/sympy/sympy/pull/2101
    https://github.com/sympy/sympy/issues/6533
    r   Tr   r%   r.   r   r0   r/   N)Úhashr   r   r   r   r   Útest_hashableÈ   s
    	r4   N)Zsympy.plotting.intervalmathr   Zsympy.testing.pytestr   r    r$   r(   r+   r-   r2   r4   r   r   r   r   Ú<module>   s   &16