U
    ZÊ¹jwD  ã                   @   s„   d dl T 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„ Zdd„ Zdd„ Zd S )!é    )Ú*c                  C   s‚  dt _tdƒtddƒkst‚tdƒtddƒks2t‚tdƒtddƒkrHt‚tddƒtddƒks`t‚ttdƒƒdkstt‚ttdƒƒdksˆt‚tdd	ƒ} d| ksžt‚d| ksªt‚d	| ks¶t‚d
| ksÂt‚d| ksÎt‚tdd	ƒ| ksàt‚tddƒ| ksòt‚td
dƒ| k�st‚tddƒ| k�st‚tt tƒ}tddƒ|k�s:t‚tdtƒ|k�sNt‚tddƒtddƒk�sht‚d	tt dƒk�s~t‚d S )Né   é   éþÿÿÿéÿÿÿÿé   z0.1z1[0.099999999999999991673, 0.10000000000000000555]z2mpi('0.099999999999999992', '0.10000000000000001')é   gš™™™™™ñ¿gÍÌÌÌÌÌ@r   ç      @éûÿÿÿé   é
   )ÚivÚdpsÚmpiÚAssertionErrorÚstrÚreprÚinf)ÚuÚw© r   úY/var/www/html/bwave/python/venv/lib/python3.8/site-packages/mpmath/tests/test_interval.pyÚtest_interval_identity   s,    
r   c                   C   s®   t tdƒƒt dƒkst‚t tdƒƒt dƒks0t‚t tddƒƒt tddƒƒksPt‚t t d¡ƒt dƒksjt‚t t dd¡ƒt dƒks†t‚t t dd¡ƒt t dd¡ƒksªt‚d S )Nr   g      
@é   y      @      @)r   r   )r   r   )Úhashr   r   r   Úmpcr   r   r   r   Útest_interval_hash   s     r   c                  C   sÌ  dt _tdƒtddƒ tddƒks&t‚tddƒd tddƒksBt‚tdƒtdd	ƒ tdtd
ƒƒksft‚ddtdƒ  } | jd  k rŽ| jk s”n t‚tdƒtdƒ } t  jd7  _t  d¡}t  jd8  _| j|  k râ| jk sèn t‚tdƒtdtƒ sþt‚tddƒt tddƒk�st‚tdƒt dk�s2t‚tdƒd tt tƒk�sPt‚ttƒd tt tƒk�snt‚tdƒt tt tƒk�sŒt‚dtdtƒ tddƒk�sªt‚t	tddƒtddƒ d ƒdk�sÐt‚tddƒd tddƒk�sît‚tddƒj
dk�st‚dt _tt jƒ}dt _|
 }|j|jk �s2t‚|j|jk�sDt‚tt jƒ}||
 k�s^t‚ttddƒƒtddƒk�s|t‚ttddƒƒtddƒk�sšt‚ttddƒƒtddƒk�s¸t‚ttddƒƒtddƒk�sÖt‚tdƒtddƒ tdƒk�söt‚tddƒtdƒ tdƒk�st‚tddƒjdk�s,t‚tddƒtddƒ tddƒk�sPt‚tt dƒtdtƒ tt dƒk�sxt‚tt dƒtt tƒ tt tƒk�s¢t‚tdtƒtt dƒ tdtƒk�sÈt‚d S )Nr   r   r   r   r   é   r   r   g¸ÔJzî�5z1.0000000000000002ç      à?é2   iöÿÿÿz0[-166.66666666666668561, -166.66666666666665719]é@   é   r   éýÿÿÿç      à¿)r   r   r   r   ÚmpfÚaÚbÚsqrtr   r   ÚmidÚpiÚabsÚdelta)ÚxÚsqr%   r&   r   r   r   Útest_interval_arithmetic#   sT     $
ÿ


  $(*r.   c                   C   s€  t ddƒt t t dƒkst‚t ddƒt  t dtƒks<t‚t ddƒt t dtƒksXt‚t ddƒt dtƒ t dtƒkszt‚t ddƒt t t tƒks˜t‚t ddƒt dtƒ t t tƒks¼t‚t ddƒt t tƒ t t tƒksât‚t t dƒt ddƒ t t dƒk�s
t‚t t dƒt ddƒ t t dƒ �s2t‚t t dƒt t tƒ t t tƒk�s\t‚t ddƒt ddƒ t ddƒk�s€t‚t d	d
ƒt dd	ƒ t ddƒk�s¤t‚t ttƒd t t tƒk�sÄt‚t t t ƒd t t tƒk�sèt‚t dƒt t d	ƒ t t tƒk�st‚t dƒt dtƒ t t tƒk�s2t‚t dtƒt dƒ t t tƒk�sVt‚t t d	ƒt dƒ t t tƒk�s|t‚d S )Nr   r   r   r
   iàÿÿÿé   itÿÿÿé    r   r   r"   r   r   ©r   r   r   r   r   r   r   Útest_interval_mulN   s$    "$&((*$$ $&$$r2   c                   C   s`  t dƒd t ddƒkst‚t dƒd t ddƒks4t‚t ddƒd t ddƒksPt‚t ddƒd t ddƒkslt‚t ddƒd t ddƒksˆt‚t ddƒd t ddƒks¤t‚t d	dƒd t ddƒksÀt‚t ddƒd t ddƒksÜt‚t d
ƒd t ddƒksöt‚t dƒd t ddƒk�st‚t d
ƒd	 t ddƒk�s.t‚t dƒd	 t ddƒk�sJt‚t ddƒt t ddƒk�sht‚t ddƒt  t dtƒk�sˆt‚t dtƒt t dtƒk�s¦t‚t dtƒt  t dtƒk�sÆt‚t dtƒt t dtƒk�sät‚t dtƒt  t ddƒk�st‚t ddƒd t ddƒk�s"t‚t ddƒd dk�s:t‚t ddƒt dƒ t ddƒk�s\t‚d S )Nr   r   é	   r"   r   r   r   iåÿÿÿr   r   ç      Ð?éüÿÿÿç      Ð¿g      °?)r   r   r   r   r   r   r   Útest_interval_powc   s*       r7   c                   C   s   t dƒd t dƒkst‚d S )Nr   r   r   )r   r   r   r   r   r   Útest_interval_sqrtz   s    r8   c                   C   sÀ	  t ddƒt ddƒ t t dƒks$t‚t ddƒt ddƒ t dtƒksFt‚t ttƒt ttƒ t dtƒksht‚t ttƒt dtƒ t dtƒksŠt‚t ttƒt ddƒ t ttƒks¬t‚t dtƒt dtƒ t dtƒksÎt‚t dtƒt ddƒ t dtƒksðt‚t dtƒt ddƒ t dtƒk�st‚t dtƒt dtƒ t dtƒk�s8t‚t ddƒt dtƒ t ddƒk�s\t‚t ddƒt dtƒ t d	d
ƒk�s€t‚t t dƒt dtƒ t t d
ƒk�s¨t‚t t tƒt dtƒ t t tƒk�sÐt‚t dtƒt dtƒ t dtƒk�sôt‚t d	tƒt dtƒ t dtƒk�st‚t ddƒt ttƒ t ddƒk�s<t‚t ddƒt ttƒ t ddƒk�s`t‚t ddƒt ttƒ t ddƒk�s„t‚t t dƒt ttƒ t t dƒk�s¬t‚t t dƒt ttƒ t t dƒk�sÔt‚t t tƒt ttƒ t t tƒk�süt‚t d	tƒt ttƒ t dtƒk�s t‚t dtƒt ttƒ t dtƒk�sDt‚t dtƒt ttƒ t dtƒk�sht‚t ttƒt ttƒ t dtƒk�sŒt‚t ddƒt ddƒ t t t
 ƒk�s´t‚t ddƒt ddƒ t dt
 ƒk�sÚt‚t ddƒt ddƒ t t dƒk�s t‚t ddƒt ddƒ t t dƒk�s&t‚t ddƒt ddƒ t dt
 ƒk�sLt‚t ddƒt ddƒ t dt
 ƒk�srt‚t ddƒt ddƒ t t dƒk�s˜t‚t ddƒt ddƒ t t dƒk�s¾t‚t ddƒt ddƒ t t t
 ƒk�sæt‚t ddƒt ddƒ t t t
 ƒk�st‚t ddƒt ddƒ t t t
 ƒk�s6t‚t ddƒt ddƒ t t t
 ƒk�s^t‚t ddƒt ddƒ t t t
 ƒk�s†t‚t ddƒt ddƒ t t t
 ƒk�s®t‚t ddƒt ddƒ t t t
 ƒk�sÖt‚t ddƒt ddƒ t t t
 ƒk�sþt‚t ddƒt ddƒ t t t
 ƒk�s&t‚t ddƒt ddƒ t t dƒk�sLt‚t ddƒt ddƒ t dt
 ƒk�srt‚t ddƒt ddƒ t dt
 ƒk�s˜t‚t ddƒt ddƒ t t dƒk�s¾t‚t ddƒt ddƒ t t dƒk�sät‚t ddƒt ddƒ t dt
 ƒk�s
t‚t ddƒt ddƒ t dt
 ƒk�s0t‚t ddƒt ddƒ t ddƒk�sTt‚t ddƒt ddƒ t ddƒk�sxt‚t ddƒt ddƒ t ddƒk�sœt‚t ddƒt ddƒ t ddƒk�sÀt‚t ddƒt ddƒ t ddƒk�sät‚t ddƒt ddƒ t ddƒk�st‚t ddƒt ddƒ t ddƒk�s,t‚t ddƒt ddƒ t ddƒk�sPt‚t ddƒt ddƒ t ddƒk�stt‚t ddƒt ddƒ t ddƒk�s˜t‚t ddƒt ddƒ t ddƒk�s¼t‚t ddƒt ddƒ t ddƒk�sàt‚t ddƒt ddƒ t ddƒk�	st‚t ddƒt ddƒ t ddƒk�	s(t‚t ddƒt ddƒ t ddƒk�	sLt‚t ddƒt ddƒ t ddƒk�	spt‚t ddƒt ddƒ t t tƒk�	s–t‚t ddƒt ddƒ t t tƒk�	s¼t‚d S )Nr   r   r   r   r#   r   r5   é   éøÿÿÿé   iðÿÿÿç        r6   r   r   r4   g       Àg      @g       @g      ð¿g       @g       Àg      Àg      À?ç      ð?r1   r   r   r   r   Útest_interval_div}   s†    $""""""$$$$(($$$$$((($$$$(&&&&&&&(((((((((&&&&&&&$$$$$$$$$$$$$$$$&r>   c            
      C   sÖ  dt _t j} t j}t j}t j}| tdƒƒdks2t‚|tdƒƒdksFt‚| tddƒƒtddƒksbt‚|tddƒƒtddƒks~t‚| tddƒƒtdd	ƒksšt‚|tddƒƒtd
dƒks¶t‚|tddƒƒtddƒksÒt‚| tddƒƒtddƒksît‚| tddƒƒtddƒk�st‚| tddƒƒtddƒk�s*t‚|tddƒƒtddƒk�sHt‚|tddƒƒtddƒk�sft‚tddƒ|tddƒƒk�s„t‚tddƒ|tddƒƒk�s¢t‚| tddƒƒ�s¶t‚| tddƒƒtddƒk�sÔt‚| tddƒƒtddƒk�sòt‚tddƒ|tddƒƒk�st‚|tddƒƒtdd ƒk�s.t‚|tddƒƒtd!d"ƒk�sLt‚d#t _dd$d%  tdƒ }d&D ]¸}|t _d|dt|ƒ ƒk�sŽt‚d|dd$d%  t|ƒ ƒk�s°t‚d| d't|ƒ ƒk�sÊt‚d| |t|ƒ ƒk�sät‚d| dt|ƒ ƒk�sþt‚d| dd$d%  t|ƒ ƒk�sjt‚�qjdt _| tdtƒƒtddƒk�sHt‚|tdtƒƒtddƒk�sft‚| tt dƒƒtddƒk�s†t‚|tt dƒƒtddƒk�s¦t‚|tddƒƒ}t	|j
ƒ t d¡¡�sÐt‚t	|jƒ t d¡¡�sìt‚t  tddƒ¡}t	|j
ƒ t d¡¡�st‚t	|jƒ t d¡¡�s4t‚td(d)dƒD ]~}t  |t j ¡}	d|	k�sbt‚|	dk�spt‚|	dk�s~t‚t  |d t j ¡}	d|	k�s t‚|	dk�s®t‚|	dk�s@t‚�q@td*d+dƒD ]„}t  |t j ¡}	d|	k�sît‚|	dk�süt‚|�r|	dk�st‚t  |d t j ¡}	d|	k�s2t‚|	dk�s@t‚|	dk�sÌt‚�qÌtd*d)ƒD ]t}t  |d t j ¡}	|	j
d  k �r�|	jk �s–n t‚t  |t j ¡}	|�r\|	j
d  k �rÈ|	jk �s\n t‚�q\d S ),Nr   r   r   g‹µ(Já?r=   gï	�Tíê?r   grSW&¢Ú¿gŒµ(Já?gî	�Tíê?r	   g°ÊÏ¯&ã?r   r   ç      ø?g§ùÅOÕ²?gï	�Tíê¿gðKtè®Þ?g0Žä.ÿ++g0Žä.ÿ;«ç      @r   g_Át÷í¿gÀ$Û¦êä¿r   g      @gÙJkp…'Ò?gIÔ<l­æ?g±ÊÏ¯&ã?gF´Ñêöí?g¯ÜÝ¹7è¿gbº~;sÖ¿g4™àõ�¯î¿gV°
NÉ“æ¿é7   r   r   )r   é(   éP   g      @r
   é   iúÿÿÿr9   )r   r   ÚcosÚsinÚtanr)   r   r   r   r$   r%   ÚaeÚmpr&   ZcotÚrange)
rE   rF   rG   r)   r   Úpr   ÚvÚnr,   r   r   r   Útest_interval_cos_sinÃ   sŽ    "&  "rN   c                   C   sh  dt _dt_t  dd¡dks t‚t  dd¡dks4t‚t  dd¡dksHt‚dt  ddgddg¡ksdt‚d	t  ddgddg¡ks€t‚t  dd¡d
 dks˜t‚t  ddgddg¡d d t  ddgddg¡ksÌt‚t  ddgddg¡d t  ddgddg¡ksüt‚t  ddgddg¡d t  ddgddg¡k�s.t‚t  ddgddg¡d t  ddgddg¡k�s`t‚t  d¡ t d¡¡�s|t‚t  d¡ t d¡¡�s˜t‚t  dd¡t  dd¡  t dd¡t dd¡ ¡�sÐt‚d
t  d¡d k�sèt‚d
t  d¡d k�s t‚t	t  d¡ƒdk�st‚t	t  t
¡ƒt
k�s0t‚t	t  dd¡ƒdk�sJt‚t	t  d¡ƒdk�sbt‚t	t  dd¡ƒdk�s|t‚t	t  dddg¡ƒt  ddg¡k�s¤t‚t	t  dddg¡ƒt  ddg¡k�sÌt‚t	t  ddgddg¡ƒt  ddg¡k�søt‚t	t  ddgddg¡ƒt  ddg¡k�s$t‚t  dd¡d dk�s>t‚t  dd¡d dk�sXt‚t  dd¡d dk�srt‚t  dd¡d dk�sŒt‚t  dd¡d dk�s¦t‚t  dd¡d dk�sÀt‚t  dd¡d dk�sÚt‚t  dd¡d dk�sôt‚t  d¡ t d¡¡�st‚t  d¡ t d¡¡�s,t‚t  d¡ t d¡¡�sHt‚t  d¡ t d¡¡�sdt‚d S )Nr   r   r   ù       @      @y       @      @ù      ð?      @r   r   y       @      @y              ð?y              @r   r   r9   y               @r:   r5   r   r   r   r   r"   é   é   y      À      (@y      GÀ      "@y     À]À      ^Ày     €^@     ¨‚Ày      Ð?      Ð¿y              À¿)r   r   rI   r   r   ÚexprH   Úlogr$   r*   r   rE   rF   r   r   r   r   Útest_interval_complex  sL    40228((,,rU   c                  C   s$  dt _dt_t d¡dkst‚t d¡dks0t‚t ddg¡dksFt‚t d¡ t¡sZt‚t d¡ t d¡¡stt‚t ddgddg¡} t | ¡}|j t  d	¡¡s¨t‚|j	 t  d
¡¡s¾t‚t ddgddg¡} t | ¡}|j t  d¡¡sòt‚|j	 t  d
¡¡�s
t‚t ddgddg¡} t | ¡}|j t  d¡¡�s@t‚|j	 t  d¡¡�sXt‚t ddgddg¡} t | ¡}|j t  d¡¡�sŽt‚|j	 t  d¡¡�s¦t‚t ddgddg¡} t | ¡}|j t  d¡¡�sÜt‚|j	 t  d¡¡�sôt‚t ddgddg¡} t | ¡}|j t  d¡¡�s*t‚|j	 t  d¡¡�sBt‚t ddgddg¡} t | ¡}|j t  d¡¡�sxt‚|j	 t  d¡¡�s�t‚t ddgddg¡} t | ¡}|j t j ¡�sÄt‚|j	 t j¡�sØt‚t ddgddg¡} t | ¡}|j t j ¡�st‚|j	 t j¡�s t‚d S )Nr   r   r   r"   rO   r   r   r   y      ð¿      @y       À      @r   rP   r   y      ð?      @y      ð?       Àr5   y      ð?      Ày       @      Ày      ð¿      Ày       À      Ày      ð¿      À)
rI   r   r   Úargr   rH   r)   r   r%   r&   )ÚzÚtr   r   r   Útest_interval_complex_arg9  sV    








rY   c                  C   s  dt _t  ddg¡} |  d¡d ks&t‚|  d¡d ks8t‚|  d¡d ksJt‚|  d¡dks\t‚|  d¡dksnt‚t  d¡} |  d¡d	ksŠt‚|  d
¡d	ksœt‚|  d¡d	ks®t‚|  d¡dksÀt‚|  d¡dksÒt‚|  t  ddg¡¡d ksît‚|  t  ddg¡¡d k�st‚d S )Nr   r   r   r?   g®Gáz @Fg®Gáz®ï?r@   Tg     @gþÿÿÿÿÿ@g5^ºI@gË¡E¶óý@g     @)r   r   r$   rH   r   )r,   r   r   r   Útest_interval_aef  s    
rZ   c                  C   s.  d t _} tddƒ}t j|| ddd�dks.t‚t j|| dddd	�d
ksJt‚t j|| dd�dksbt‚t j|| ddd�dks|t‚t j|| ddd�dks–t‚tddƒ}t j|| dd�dks¸t‚t jt  tdƒ¡| ddd�dksÜt‚t jtddƒ| dd�dksút‚t j}t jt  tdƒ¡| dd�dk�s$t‚dt _d S )Nr!   r   r   Z	plusminusr   )ÚmodeÚ	error_dpsú
1.5 +- 0.5F)r[   Ú
use_spacesr\   z1.5+-0.5Úpercent)r[   z1.5 (33.33%)Úbrackets)r[   r^   z	[1.0,2.0])ú<ú>)r[   r`   z
<1.0, 2.0>z5.2582327113062393041z5.2582327113062749951Údiffz5.2582327113062[393041, 749951]z*0.54030230586813971740093660744[2955,3053]Z1e123Z1e129z[1.0e+123, 1.0e+129]z5000.1z-3.2797365856787867069110487[0926, 1191]e+2171r   )r   r   r   Znstrr   rE   rS   )rM   r,   rS   r   r   r   Útest_interval_nstrw  s    


$$rd   c                   C   s¢   dt _t  d¡ttdƒtdƒƒks&t‚tddƒt  d¡ks>t‚t  d¡tddƒksVt‚t  d	¡td
dƒksnt‚t  d¡tddƒks†t‚t  d¡tddƒksžt‚d S )Nr   r]   z1.0z2.0r   r   z'1.5 (33.33333333333333333333333333333%)z[1, 2]z1[2, 3]rQ   rR   z1.[23,46]e-8z1.23e-8z1.46e-8z12[3.4,5.9]e4z123.4e+4z125.9e4)r   r   Úconvertr   r$   r   r   r   r   r   Útest_mpi_from_strˆ  s     rf   c                  C   s¦  dt _dt_t d¡dkst‚t d¡dks0t‚t d¡dksBt‚t d¡dksTt‚t d¡dksft‚t d¡t tgks~t‚t d¡dks�t‚t d¡dks¢t‚t d¡dks´t‚dt d¡ksÆt‚t d¡dksØt‚t d¡dksêt‚d	t d¡ksüt‚t 	ddgdd
g¡t 	ddgddg¡t 	ddgdd
g¡t 	ddgddg¡t 	ddgdd
g¡t 	ddgdd
g¡t 	ddgddg¡g} | D �]}t  t  	|j
|j¡¡t  t  	|j|j¡¡t  t  	|j
|j¡¡t  t  	|j|j¡¡g}d|jk�r|t  |j
¡t  |j¡g7 }tdd„ |D ƒƒ}tdd„ |D ƒƒ}tdd„ |D ƒƒ}tdd„ |D ƒƒ}t |¡}|j
 |¡�sht‚|j |¡�szt‚|j |¡�sŒt‚|j |¡�s‚t‚�q‚d S )Nr   r   r   r   r   r   gkï´‘ø[Àr#   gï9úþB.æ?r   r5   r   r"   r   c                 S   s   g | ]
}|j ‘qS r   ©Úreal©Ú.0Úyr   r   r   Ú
<listcomp>±  s     z'test_interval_gamma.<locals>.<listcomp>c                 S   s   g | ]
}|j ‘qS r   rg   ri   r   r   r   rl   ²  s     c                 S   s   g | ]
}|j ‘qS r   ©Úimagri   r   r   r   rl   ³  s     c                 S   s   g | ]
}|j ‘qS r   rm   ri   r   r   r   rl   ´  s     )rI   r   r   Zrgammar   ZfacÚgammar   Zloggammar   r%   Úcr&   Údrn   ÚminÚmaxrH   )Zxsr,   ZysZmin_realZmax_realZmin_imagZmax_imagrW   r   r   r   Útest_interval_gamma‘  sP    ú
ý
rt   c                  C   s¬   dt _dt_dddddttdƒƒffD ]€\} }t| |ƒ}t|jƒt|ƒksNt‚t|j	ƒt| ƒksdt‚t|jƒt|ƒkszt‚t
|j	ƒt
| ƒks�t‚t
|jƒt
|ƒks&t‚q&d S )Nr   )g       €r   )r<   r   )r=   r   )ú-infg     €4@ru   r   )rI   r   r   Úfloatr'   r   Úintr&   r   r%   Úcomplex)r%   r&   Úrr   r   r   Útest_interval_conversions»  s     ÿ
rz   N)Zmpmathr   r   r.   r2   r7   r8   r>   rN   rU   rY   rZ   rd   rf   rt   rz   r   r   r   r   Ú<module>   s   +FM)-	*