o
    lÇ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y#   eZY nw 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s(J ‚t dƒdks0J ‚t dƒdks8J ‚t dƒdks@J ‚tdƒdksHJ ‚d S )Né   r   gñhãˆµøä>ç       @ç      @z2.0©ÚmpfÚmpc© r	   r	   úo/var/www/html/construction_image-detection-poc/venv/lib/python3.10/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s*J ‚dt dƒ dks4J ‚dt dƒ dks>J ‚tdƒt dƒ dksJJ ‚tdƒd dksTJ ‚tdƒd dks^J ‚tdƒd dkshJ ‚dtdƒ dksrJ ‚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   ó   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s*J ‚dt dƒ dks4J ‚dt dƒ dks>J ‚tdƒt dƒ dksJJ ‚tdƒd dksTJ ‚tdƒd dks^J ‚tdƒd dkshJ ‚dtdƒ dksrJ ‚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%   r   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s*J ‚dt dƒ dks4J ‚dt dƒ dks>J ‚tdƒt dƒ dksJJ ‚tdƒd dksTJ ‚tdƒd dks^J ‚tdƒd dkshJ ‚dtdƒ dksrJ ‚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   r   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s*J ‚dt dƒ dks4J ‚dt dƒ dks>J ‚tdƒt dƒ dksJJ ‚tdƒd dksTJ ‚tdƒd dks^J ‚tdƒd dkshJ ‚dtdƒ dksrJ ‚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   r   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s*J ‚dt dƒ dks4J ‚dt dƒ dks>J ‚tdƒt dƒ dksJJ ‚tdƒd dksTJ ‚tdƒd dks^J ‚tdƒd dkshJ ‚dtdƒ dksrJ ‚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   r   r   c                   C   sh  dt dƒ t dƒd   krdksJ ‚ J ‚dt dƒ t dƒd    kr*dks-J ‚ J ‚dt dƒ t dƒd   kr@dksCJ ‚ J ‚dt dƒ t dƒd   krVdksYJ ‚ J ‚dt dƒ t dƒd   krldksoJ ‚ J ‚dt dƒ t dƒd    krƒdks†J ‚ J ‚dt dƒ t dƒd   kr™dksœJ ‚ J ‚d	t dƒ t dƒd
   kr¯dks²J ‚ J ‚d S )Né   r   é   éþÿÿÿr   r   g      ð?r   r   r   )r   r	   r	   r	   r
   Útest_mixed_misca   s   ,.,,,.,0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s+J ‚td
ƒtd	ƒ td	ƒks9J ‚tdƒtd
ƒ td
ƒksGJ ‚td
ƒtdƒ td
ƒksUJ ‚tdƒd dks_J ‚tdƒd dksiJ ‚tdƒd tdƒksuJ ‚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¡sJ ‚d S )Nr   r   r   gá      @y       @Vçž¯Ò<)r   Úaer	   r	   r	   r
   Útest_complex_miscx   s   r%   c               	   C   sX   dD ]'} dD ]"}dD ]}dD ]}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s-J ‚ttƒs3J ‚ttdƒƒtdƒks?J ‚ttd	dƒƒttd
dƒƒksOJ ‚ddlm} tt dd¡ƒs_J ‚tt dd¡ƒdkskJ ‚tt dd¡ƒtdƒksyJ ‚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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 d S )Ni ÿÿÿé   r   r   r   y       @      @Ú1e1000Ú1e10000éd   éÈ   r   ©Úmpqr   éÿÿÿÿr'   ©r   r   iÐ  )
ÚrangeÚhashr   r   ÚinfÚmpmath.rationalr4   r!   ÚsysÚversion_info)Úir4   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sJ ‚tt| dtƒtks$J ‚tttt| dtƒdtƒtdƒks6J ‚tt| dtƒtksAJ ‚d S )Nr   g¸ÔJzî5é5   g      °<g       <)r!   r"   Ú
from_floatÚmpf_subÚmpf_addÚfoneÚround_upÚ
round_down)r)   r	   r	   r
   Útest_add_rounding›   s   $$rF   c                   C   sJ   t dƒ t dƒd¡sJ ‚t dƒ t dƒd¡rJ ‚t dƒ t dƒ¡r#J ‚d S )Ng333333ó?geâ533ó?gH¯¼šò×z>g•Ö&è.>gKÞuÃé¿gXÍˆýNÊè¿)r   r$   r	   r	   r	   r
   Útest_almost_equal£   s   rG   c                  C   sb  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 ]v}|D ]q\}}	|	turHdt_|||ƒ}
dt_|||ƒ}dt_|||ƒ}|	||dd	|kscJ ‚|	||ƒ|kslJ ‚|	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sŸJ ‚t|ƒ|
  ks©J ‚q8q4q,dt_d S )Nr   gHáz®GÑ?g®Gázò?yR¸…ëQà?Ház®G@yHáz®Gñ?®Gáz®ï¿r2   é<   r?   ©Úprec)r"   T©Úexactr   )ÚoperatorÚaddÚfaddÚsubÚfsubÚmulÚfmulÚtruedivÚfdivr   r   r!   rJ   r9   Úfnegr"   )rM   Úopsr)   r*   r+   r,   ÚxÚyÚopÚfopÚz0Úz1Úz2r	   r	   r
   Útest_arithmetic_functions¨   s:   ÿ


ñÿ
r_   c                  C   sh  t  d¡ dD ]§} dD ]¢}| t_d| d  }d| d d  }tdƒD ]Š}t  | |¡}t  | |¡}t||d|ks<J ‚tt||dƒ|ksHJ ‚ttt|ƒ|dƒ|ksVJ ‚t|ƒt|ƒ || ksdJ ‚t|ƒt|ƒ || ksrJ ‚t|ƒ | ks|J ‚t  | |¡}t  | |¡}t|ƒt|ƒ || ks˜J ‚t	t
|ƒt
|ƒtj|ƒt
|| ƒks¬J ‚q"qqdt_d S )Nr   )r   é
   é   é(   r1   éú   iÕ  )r,   ÚuÚfr+   Únr`   r   )Úroundingr   )ÚrandomÚseedr!   r"   r7   Úrandintr   ÚintÚstrÚmpf_mulÚfrom_intrJ   )rJ   rg   ÚMÚM2r=   r)   r*   r	   r	   r
   Útest_exact_integer_arithmeticÄ   s,   
*ôü
rq   c                   C   s   t tdƒtƒdksJ ‚d S )Nr   )Úto_intrn   Úround_nearestr	   r	   r	   r
   Útest_odd_int_bugÛ   s   rt   c                   C   óX   dt _ttdƒd ƒdd… dd d… ksJ ‚ttƒdd… dd d… ks'J ‚d	t _d S )
Nié  r   r   éöÿÿÿr5   Ú
9518488472é	   Ú
2164201989r   ©r!   r"   rl   r   Úpir	   r	   r	   r
   Útest_str_1000_digitsÞ   ó   ( 
r|   c                   C   ru   )
Ni'  r   r   rv   r5   Ú
5873258351rx   Ú
5256375678r   rz   r	   r	   r	   r
   Útest_str_10000_digitså   r}   r€   c                  C   sh   dd„ } g }g }t | |j|jƒ}|dƒdksJ ‚|dƒdks J ‚|d di fks*J ‚|d dks2J ‚d S )	Nc                 S   s   | d S )Nr   r	   )rX   r	   r	   r
   Ú<lambda>í   s    ztest_monitor.<locals>.<lambda>r   rx   r   é   r   )r   )ÚmonitorÚappend)re   r)   r*   Úgr	   r	   r
   Útest_monitorì   s   r†   c                   C   s~  t tdƒƒdt fksJ ‚t tdƒƒdt fksJ ‚t tdƒƒdks$J ‚t tdƒƒdks.J ‚t tdƒƒdks8J ‚t tdƒƒd	ksBJ ‚t td
ƒƒdksLJ ‚t tdƒƒdksVJ ‚t tdƒƒdks`J ‚t tdƒƒd	ksjJ ‚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dƒƒdksœJ ‚t tdƒƒdt fks©J ‚t tdƒƒdks³J ‚t tdƒƒdks½J ‚d S )NéýÿÿÿgÍÌÌÌÌÌÀ)r‡   r‡   g®GázÀ)r‡   éúÿÿÿg5^ºIÀ)r‡   i÷ÿÿÿg9ÖÅm4 À)r‡   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   rˆ   z1e-100)r   i´þÿÿ)Únint_distancer   r9   r   r	   r	   r	   r
   Útest_nint_distanceö   s$   rŠ   c                  C   sò  dt _tddƒD ]M} t| ƒ| ksJ ‚t| d ƒ| ksJ ‚t| ƒ| ks$J ‚t| d ƒ| d ks0J ‚t| ƒ| ks8J ‚| d dkrKt| d ƒ| d ksJJ ‚qt| d ƒ| ksUJ ‚qttƒtks^J ‚ttƒtksfJ ‚ttt	ƒƒsnJ ‚ttƒtksvJ ‚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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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s4J ‚tdƒdks=J ‚tdƒdksFJ ‚tdƒdksOJ ‚tdƒdksXJ ‚tdƒdksaJ ‚tdƒdksjJ ‚tdƒdkssJ ‚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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sJ ‚t
dƒdksJ ‚t
dƒdksJ ‚t
d ƒd!ks'J ‚t
d"ƒd!ks0J ‚t
d#ƒd!ks9J ‚t
d$ƒdksBJ ‚td%ƒ}t
|ƒ|ksOJ ‚t
| ƒdksYJ ‚td&ƒ}t
| dd'td|d(d)ksnJ ‚t
d*ƒd+kswJ ‚d S ),Nr   rv   r`   r   r   r   gš™™™™™¹?r   gÍÌÌÌÌÌì?gš™™™™™¹¿r5   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      ÀÚ1e100000000000000z1e-100000000000000z1e-400rI   TrK   y      
@      @y      Ð?      è?)r!   r"   r7   ÚfloorÚceilÚnintr9   ÚninfÚisnanÚnanÚfracr   rQ   )rf   rd   r	   r	   r
   Útest_floor_ceil_nint_frac
  s’   "r”   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s(J ‚ttdtƒƒdks3J ‚ttdtƒƒdks>J ‚ttttƒƒdksIJ ‚ttddƒƒdksTJ ‚ttttƒƒdks_J ‚ttttƒƒdksjJ ‚t| dƒƒdkstJ ‚t| dƒƒdks~J ‚ttƒdks†J ‚tt ƒdksJ ‚tdƒdks—J ‚ttƒdksŸJ ‚td	ƒdks§J ‚tttƒƒdks±J ‚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sJ ‚ttd
ƒƒdks%J ‚tdƒdks.J ‚ttdƒƒdks9J ‚tdƒdksBJ ‚ttƒdksKJ ‚tt ƒdksUJ ‚ttƒdks^J ‚tt	tƒƒdksiJ ‚ttddƒƒdksuJ ‚ttddƒƒdksJ ‚ttddƒƒdksJ ‚ttddƒƒ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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sJ ‚ttttƒƒdks*J ‚ttttƒƒdks6J ‚t| dƒƒdksAJ ‚t| dƒƒdksLJ ‚t
dƒdksUJ ‚t
dƒdks^J ‚t
tdƒƒdksiJ ‚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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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sJ ‚t
tddƒdddks#J ‚t
tddƒdddks1J ‚t
tddƒdddks?J ‚t
d	ƒdksHJ ‚t
d	dddksSJ ‚t
dƒdks\J ‚t
| dƒƒdksgJ ‚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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sJ ‚t d¡dks J ‚t d¡dks*J ‚t d¡dks4J ‚t d¡dks>J ‚t d¡dksHJ ‚d S )Nr   r3   Tr   Fr   r6   )r   r   r‹   g      @g        r‡   gš™™™™™	@)Úgaussianr   )r   rx   )rx   r   r&   )r   r   )r5   r   r   r5   gš™™™™™ñ¿g      ð¿y                y      ð¿        yš™™™™™ñ¿        y      ð¿š™™™™™¹?y        š™™™™™¹?)r:   r4   r‘   r’   r   r9   r   ÚisinfÚisnormalÚfloatÚisintÚlongr!   Úisnpintr3   r	   r	   r
   Útest_isnan_etcW  sÌ   rœ   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 )Nr9   z-infr’   )r   ÚfinfÚfninfÚfnanÚ_mpf_r	   r	   r	   r
   Útest_issue_438À  s   r¡   )ÚmpmathÚmpmath.libmprh   r;   rš   Ú	NameErrorrk   r   r   r   r   r   r   r   r#   r%   r-   r>   rF   rG   r_   rq   rt   r|   r€   r†   rŠ   r”   rœ   r¡   r	   r	   r	   r
   Ú<module>   sB    ÿ


Mi