a
    gº”hô;  ã                   @   s  d dl Z d dl T d dlT d dlZd dlZzeZW n eyF   eZY n0 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!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Zd)d*„ Zd+d,„ Zd-d.„ Zd/d0„ ZdS )1é    N)Ú*c                   C   s”   t dƒtddƒksJ ‚t dƒtdƒks*J ‚t dƒtddƒks@J ‚t dƒdksPJ ‚t dƒdks`J ‚t dƒdkspJ ‚t dƒdks€J ‚tdƒdksJ ‚d S )Né   r   gñhãˆµøä>ç       @ç      @z2.0©ÚmpfÚmpc© r	   r	   úI/var/www/auris/lib/python3.9/site-packages/mpmath/tests/test_basic_ops.pyÚtest_type_compare   s    r   c                   C   s  t dƒt dƒ dksJ ‚t dƒd dks,J ‚t dƒd dks@J ‚dt dƒ dksTJ ‚dt dƒ dkshJ ‚dt dƒ dks|J ‚tdƒt dƒ dks”J ‚tdƒd dks¨J ‚tdƒd dks¼J ‚tdƒd dksÐJ ‚dtdƒ dksäJ ‚dtdƒ dksøJ ‚dtdƒ dksJ ‚d S )Nç      @é   g      @r   ù      @        r   r	   r	   r	   r
   Útest_add   s    r   c                   C   s  t dƒt dƒ dksJ ‚t dƒd dks,J ‚t dƒd dks@J ‚dt dƒ dksTJ ‚dt dƒ dkshJ ‚dt dƒ dks|J ‚tdƒt dƒ dks”J ‚tdƒd dks¨J ‚tdƒd dks¼J ‚tdƒd dksÐJ ‚dtdƒ dksäJ ‚dtdƒ dksøJ ‚dtdƒ dksJ ‚d S )Nr   r   g      à¿r   ç      à?r   r   r	   r	   r	   r
   Útest_sub%   s    r   c                   C   s  t dƒt dƒ dksJ ‚t dƒd dks,J ‚t dƒd dks@J ‚dt dƒ dksTJ ‚dt dƒ dkshJ ‚dt dƒ dks|J ‚tdƒt dƒ dks”J ‚tdƒd dks¨J ‚tdƒd dks¼J ‚tdƒd dksÐJ ‚dtdƒ dksäJ ‚dtdƒ dksøJ ‚dtdƒ dksJ ‚d S )Nr   r   g      @r   r   r   r	   r	   r	   r
   Útest_mul4   s    r   c                   C   s  t dƒt dƒ dksJ ‚t dƒd dks,J ‚t dƒd dks@J ‚dt dƒ dksTJ ‚dt dƒ dkshJ ‚dt dƒ dks|J ‚tdƒt dƒ dks”J ‚tdƒd dks¨J ‚tdƒd dks¼J ‚tdƒd dksÐJ ‚dtdƒ dksäJ ‚dtdƒ dksøJ ‚dtdƒ dksJ ‚d S )Né   r   r   r   ç      @ù      @        r   r   r	   r	   r	   r
   Útest_divC   s    r   c                   C   s  t dƒt dƒ dksJ ‚t dƒd dks,J ‚t dƒd dks@J ‚dt dƒ dksTJ ‚dt dƒ dkshJ ‚dt dƒ dks|J ‚tdƒt dƒ dks”J ‚tdƒd dks¨J ‚tdƒd dks¼J ‚tdƒd dksÐJ ‚dtdƒ dksäJ ‚dtdƒ dksøJ ‚dtdƒ dksJ ‚d S )Nr   r   g      k@r   r   r   r   r   r	   r	   r	   r
   Útest_powR   s    r   c                   C   sb  dt dƒ t dƒd   kr$dks*n J ‚dt dƒ t dƒd    krPdksVn J ‚dt dƒ t dƒd   krzdks€n J ‚dt dƒ t dƒd   kr¤dksªn J ‚dt dƒ t dƒd   krÎdksÔn J ‚dt dƒ t dƒd    krüdksn J ‚dt dƒ t dƒd   kr*dks0n J ‚d	t dƒ t dƒd
   krXdks^n J ‚d S )Né   r   é   éþÿÿÿr   r   g      ð?r   r   r   )r   r	   r	   r	   r
   Útest_mixed_misca   s    *,***..r   c                   C   s  dt _tdƒtdƒ dksJ ‚tdƒtdƒd  dks:J ‚td	ƒtd
ƒ td	ƒksVJ ‚td
ƒtd	ƒ td	ƒksrJ ‚tdƒtd
ƒ td
ƒksŽJ ‚td
ƒtdƒ td
ƒksªJ ‚tdƒd dks¾J ‚tdƒd dksÒJ ‚tdƒd tdƒksêJ ‚tdƒtdƒ tdƒksJ ‚d S )Né   r   iºÿÿÿi¾ÿÿÿr   gš™™™™™ñ?éP   g¸…ëQ8ð?)r   ì    d(	 r   )r   ìýÿÿÿ d(	 gVçž¯Ò<g#B’¡œÇ;g@çr¬\+`;r   )ÚmpÚdpsr   r	   r	   r	   r
   Útest_add_misck   s    r"   c                   C   s<   dt dƒ dksJ ‚t dƒ d¡r&J ‚t dƒ d¡s8J ‚d S )Nr   r   r   gá      @y       @Vçž¯Ò<)r   Úaer	   r	   r	   r
   Útest_complex_miscx   s    r$   c               	   C   sX   dD ]N} dD ]D}dD ]:}dD ]0}t | |ƒt ||ƒ t| |ƒt||ƒ ksJ ‚qqqqd S )N)r   r   )r   r   ©r   r   )r   é   )r   Úcomplex)ÚaÚbÚcÚdr	   r	   r
   Útest_complex_zeros~   s
    r,   c                  C   s®  t ddƒD ]} tt| ƒƒt| ƒks
J ‚q
ttdƒƒtdƒks@J ‚ttddƒƒtdƒksZJ ‚ttƒsfJ ‚ttdƒƒtdƒks~J ‚ttd	dƒƒttd
dƒƒksžJ ‚ddlm} tt dd¡ƒs¾J ‚tt dd¡ƒdksÖJ ‚tt dd¡ƒtdƒksòJ ‚tt dd¡ƒtdƒksJ ‚tt dd¡ƒtdƒks.J ‚tt dd¡ƒtdƒksLJ ‚tj	dkrªttdƒdd  ƒtdd ƒks~J ‚ttdƒdd  ƒt|ddd ƒƒksªJ ‚d S )Ni ÿÿÿé   r   r   r   y       @      @Z1e1000Z1e10000éd   éÈ   r   ©Úmpqr   éÿÿÿÿr&   ©r   r   iÐ  )
ÚrangeÚhashr   r   ÚinfÚmpmath.rationalr1   r    ÚsysÚversion_info)Úir1   r	   r	   r
   Ú	test_hash…   s"     &r;   c                  C   s†   dt _tdƒ} ttt| dtƒtdtƒtdƒks2J ‚tt| dtƒtksHJ ‚tttt| dtƒdtƒtdƒkslJ ‚tt| dtƒtks‚J ‚d S )Nr   g¸ÔJzî5é5   g      °<g       <)r    r!   Ú
from_floatZmpf_subZmpf_addZfoneZround_upZ
round_down)r(   r	   r	   r
   Útest_add_rounding›   s    $$r>   c                   C   sJ   t dƒ t dƒd¡sJ ‚t dƒ t dƒd¡r0J ‚t dƒ t dƒ¡rFJ ‚d S )Ng333333ó?geâ533ó?gH¯¼šò×z>g•Ö&è.>gKÞuÃé¿gXÍˆýNÊè¿)r   r#   r	   r	   r	   r
   Útest_almost_equal£   s    r?   c                  C   sl  dd l } | jtf| jtf| jtf| jtfg}t	dƒ}t	dƒ}t
dƒ}t
dƒ}||||fD ]}||||fD ]ô}|D ]ê\}}	|	tur’dt_|||ƒ}
dt_|||ƒ}dt_|||ƒ}|	||dd	|ksÈJ ‚|	||ƒ|ksÚJ ‚|	tur*|	||td	|
ksúJ ‚|	||td
|
ksJ ‚|	||dd|
ks*J ‚tt|ddtd	|ksHJ ‚t|ƒ|
  ksrJ ‚qrqjqXdt_d S )Nr   gHáz®GÑ?g®Gázò?yR¸…ëQà?Ház®G@yHáz®Gñ?®Gáz®ï¿r/   é<   r<   ©Úprec)r!   T©Úexactr   )ÚoperatorÚaddZfaddÚsubÚfsubÚmulZfmulÚtruedivZfdivr   r   r    rB   r6   Zfnegr!   )rE   Úopsr(   r)   r*   r+   ÚxÚyÚopZfopZz0Zz1Zz2r	   r	   r
   Útest_arithmetic_functions¨   s6    ÿ



rO   c                  C   sp  t  d¡ dD ]T} dD ]H}| t_d| d  }d| d d  }tdƒD ]}t  | |¡}t  | |¡}t||d|ks~J ‚tt||dƒ|ks–J ‚ttt|ƒ|dƒ|ks²J ‚t|ƒt|ƒ || ksÎJ ‚t|ƒt|ƒ || ksêJ ‚t|ƒ | ksþJ ‚t  | |¡}t  | |¡}t|ƒt|ƒ || ks8J ‚t	t
|ƒt
|ƒtj|ƒt
|| ƒksHJ ‚qHqqdt_d S )Nr   )r   é
   é   é(   r.   éú   iÕ  )r+   ÚuÚfr*   ÚnrP   r   )Úroundingr   )ÚrandomÚseedr    r!   r4   Úrandintr   ÚintÚstrZmpf_mulÚfrom_intrB   )rB   rW   ÚMZM2r:   r(   r)   r	   r	   r
   Útest_exact_integer_arithmeticÄ   s(    


.r_   c                   C   s   t tdƒtƒdksJ ‚d S )Nr   )Zto_intr]   Zround_nearestr	   r	   r	   r
   Útest_odd_int_bugÛ   s    r`   c                   C   sX   dt _ttdƒd ƒdd… dd d… ks.J ‚ttƒdd… dd d… ksNJ ‚d	t _d S )
Nié  r   r   éöÿÿÿr2   Z
9518488472é	   Z
2164201989r   ©r    r!   r\   r   Úpir	   r	   r	   r
   Útest_str_1000_digitsÞ   s    ( re   c                   C   sX   dt _ttdƒd ƒdd… dd d… ks.J ‚ttƒdd… dd d… ksNJ ‚d	t _d S )
Ni'  r   r   ra   r2   Z
5873258351rb   Z
5256375678r   rc   r	   r	   r	   r
   Útest_str_10000_digitså   s    ( rf   c                  C   sh   dd„ } g }g }t | |j|jƒ}|dƒdks0J ‚|dƒdks@J ‚|d di fksTJ ‚|d dksdJ ‚d S )	Nc                 S   s   | d S )Nr   r	   )rL   r	   r	   r
   Ú<lambda>í   ó    ztest_monitor.<locals>.<lambda>r   rb   r   é   r   )r   )ZmonitorÚappend)rU   r(   r)   Úgr	   r	   r
   Útest_monitorì   s    rl   c                   C   sŠ  t tdƒƒdt fksJ ‚t tdƒƒdt fks4J ‚t tdƒƒdksHJ ‚t tdƒƒdks\J ‚t tdƒƒdkspJ ‚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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dƒƒdt fksZJ ‚t tdƒƒdkspJ ‚t tdƒƒdks†J ‚d S )NéýÿÿÿgÍÌÌÌÌÌÀ)rm   rm   g®GázÀ)rm   éúÿÿÿg5^ºIÀ)rm   i÷ÿÿÿg9ÖÅm4 À)rm   ióÿÿÿg333333ÀgìQ¸…ëÀgË¡E¶óýÀgÇ):’ËÿÀy      Àš™™™™™¹?y      À{®Gáz„?yÍÌÌÌÌÌÀš™™™™™¹?y®GázÀ{®Gáz„?y5^ºIÀü©ñÒMbP?r   g{®Gáz„?)r   rn   z1e-100)r   i´þÿÿ)Znint_distancer   r6   r   r	   r	   r	   r
   Útest_nint_distanceö   s$    ro   c                  C   s  dt _tddƒD ]š} t| ƒ| ks$J ‚t| d ƒ| ks8J ‚t| ƒ| ksHJ ‚t| d ƒ| d ks`J ‚t| ƒ| kspJ ‚| d dkr–t| d ƒ| d ksªJ ‚qt| d ƒ| ksJ ‚qttƒtks¼J ‚ttƒtksÌJ ‚ttt	ƒƒsÜJ ‚ttƒtksìJ ‚ttƒtksüJ ‚ttt	ƒƒsJ ‚ttƒtks J ‚ttƒtks2J ‚ttt	ƒƒsDJ ‚tdƒdksVJ ‚td	ƒdkshJ ‚td
ƒdkszJ ‚tdƒdksŒJ ‚tdƒdksžJ ‚tdƒdks°J ‚tdƒdksÂJ ‚tdƒdksÔJ ‚tdƒdksæJ ‚tdƒdksøJ ‚tdƒdks
J ‚tdƒdksJ ‚tdƒdks.J ‚td	ƒdks@J ‚td
ƒdksRJ ‚tdƒdksdJ ‚tdƒdksvJ ‚tdƒdksˆJ ‚tdƒdksšJ ‚tdƒdks¬J ‚tdƒdks¾J ‚tdƒdksÐJ ‚tdƒdksâJ ‚tdƒdksôJ ‚tdƒdksJ ‚td	ƒdksJ ‚td
ƒdks*J ‚tdƒdks<J ‚tdƒdksNJ ‚tdƒdks`J ‚tdƒdksrJ ‚tdƒdks„J ‚tdƒdks–J ‚tdƒdks¨J ‚tdƒdksºJ ‚tdƒdksÌJ ‚tdƒdksÞJ ‚tdƒdksðJ ‚tdƒdksJ ‚tddƒD ]} t
| ƒdksJ ‚qt
dƒdks8J ‚t
dƒdksJJ ‚t
dƒdks\J ‚t
d ƒd!ksnJ ‚t
d"ƒd!ks€J ‚t
d#ƒd!ks’J ‚t
d$ƒdks¤J ‚td%ƒ}t
|ƒ|ks¾J ‚t
| ƒdksÒJ ‚td&ƒ}t
| dd'td|d(d)ksüJ ‚t
d*ƒd+ksJ ‚d S ),Nr   ra   rP   r   r   r   gš™™™™™¹?r   gÍÌÌÌÌÌì?gš™™™™™¹¿r2   gÍÌÌÌÌÌì¿gÍÌ  _ Br   g33 _ BgÍÌ  _ Âlýÿÿÿd(	 g33 _ Âg0Žä.ÿ++g0Žä.ÿ+«g}Ã”%­I²Tg}Ã”%­I²Ôl   d(	 r   yš™™™™™	@ffffff@ù      @      @y      @      @y      @      @g      Ð?g      ô?g      @g      Ð¿g      è?g      ô¿g      ÀZ1e100000000000000z1e-100000000000000z1e-400rA   TrC   y      
@      @y      Ð?      è?)r    r!   r4   ÚfloorÚceilZnintr6   ZninfÚisnanÚnanÚfracr   rH   )rV   rT   r	   r	   r
   Útest_floor_ceil_nint_frac
  s’    "rv   c                  C   s®  ddl m}  ttƒdksJ ‚tdƒdks,J ‚ttdƒƒdks@J ‚ttƒdksPJ ‚ttdtƒƒdksfJ ‚ttdtƒƒdks|J ‚ttttƒƒdks’J ‚ttddƒƒdks¨J ‚ttttƒƒdks¾J ‚ttttƒƒdksÔJ ‚t| dƒƒdksèJ ‚t| dƒƒdksüJ ‚ttƒdksJ ‚tt ƒdks"J ‚tdƒdks4J ‚ttƒdksFJ ‚td	ƒdksXJ ‚tttƒƒdksnJ ‚ttdtƒƒdks†J ‚tttdƒƒdksžJ ‚ttttƒƒdks¶J ‚ttttƒƒdksÎJ ‚ttttƒƒdksæJ ‚ttttƒƒdksþJ ‚t| dƒƒdksJ ‚t| dƒƒdks*J ‚tdƒdks<J ‚td
ƒdksNJ ‚ttd
ƒƒdksdJ ‚tdƒdksvJ ‚ttdƒƒdksŒJ ‚tdƒdksžJ ‚ttƒdks°J ‚tt ƒdksÄJ ‚ttƒdksÖJ ‚tt	tƒƒdksìJ ‚ttddƒƒdksJ ‚ttddƒƒdksJ ‚ttddƒƒdks4J ‚ttddƒƒdksLJ ‚ttdtƒƒdksdJ ‚ttdtƒƒdks|J ‚ttdtƒƒdks”J ‚ttdtƒƒdks¬J ‚ttdt ƒƒdksÆJ ‚tttdƒƒdksÞJ ‚tttdƒƒdksöJ ‚tttdƒƒdksJ ‚tttdƒƒdks&J ‚ttttƒƒdks>J ‚ttttƒƒdksVJ ‚ttttƒƒdksnJ ‚ttttƒƒdks†J ‚t| dƒƒdksœJ ‚t| dƒƒdks²J ‚t
dƒdksÄJ ‚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dƒƒdksDJ ‚t
tdƒƒdksZJ ‚t
dƒdkslJ ‚t
tƒdks~J ‚t
tƒdksJ ‚t
t ƒ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tƒƒdksþJ ‚t
ttƒƒdksJ ‚t
tddƒƒdks,J ‚t
tddƒƒdksDJ ‚t
tddƒdddks`J ‚t
tddƒdddks|J ‚t
tddƒdddks˜J ‚t
d	ƒdksªJ ‚t
d	dddksÀJ ‚t
dƒdksÒJ ‚t
| dƒƒdksèJ ‚t
| dƒƒdksþJ ‚t
| dƒƒdksJ ‚t
| dƒƒdks*J ‚t
| dƒƒdks@J ‚t
| dƒƒdksVJ ‚t d¡dksjJ ‚t d¡dks~J ‚t d¡dks’J ‚t d¡dks¦J ‚t d¡dksºJ ‚t t dd¡¡dksÖJ ‚t t dd¡¡dksòJ ‚t t dd¡¡dksJ ‚t t dd¡¡dks*J ‚t t dd¡¡dksFJ ‚t d¡dksZJ ‚t d¡dksnJ ‚t d¡dks‚J ‚t d¡dks–J ‚t d¡dksªJ ‚d S )Nr   r0   Tr   Fr   r3   )r   r   rp   g      @g        rm   gš™™™™™	@)Zgaussianr   )r   rb   )rb   r   r%   )r   r   )r2   r   r   r2   gš™™™™™ñ¿g      ð¿y                y      ð¿        yš™™™™™ñ¿        y      ð¿š™™™™™¹?y        š™™™™™¹?)r7   r1   rs   rt   r   r6   r   ÚisinfZisnormalÚfloatZisintÚlongr    Zisnpintr0   r	   r	   r
   Útest_isnan_etcW  sÌ    rz   c                   C   sD   t tƒt dƒksJ ‚t tƒt dƒks(J ‚t tƒjt dƒjks@J ‚d S )Nr6   z-infrt   )r   ZfinfZfninfZfnanZ_mpf_r	   r	   r	   r
   Útest_issue_438À  s    r{   )ZmpmathZmpmath.libmprX   r8   ry   Ú	NameErrorr[   r   r   r   r   r   r   r   r"   r$   r,   r;   r>   r?   rO   r_   r`   re   rf   rl   ro   rv   rz   r{   r	   r	   r	   r
   Ú<module>   s>   



Mi