U
    —9%eô;  ã                   @   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k
rH   eZY nX 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t‚t dƒtdƒks*t‚t dƒtddƒks@t‚t dƒdksPt‚t dƒdks`t‚t dƒdkspt‚t dƒdks€t‚tdƒdkst‚d S )Né   r   gñhãˆµøä>ç       @ç      @z2.0)ÚmpfÚmpcÚAssertionError© r	   r	   úZ/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/mpmath/tests/test_basic_ops.pyÚtest_type_compare   s    r   c                   C   s  t dƒt dƒ dkst‚t dƒd dks,t‚t dƒd dks@t‚dt dƒ dksTt‚dt dƒ dksht‚dt dƒ dks|t‚tdƒt dƒ dks”t‚tdƒd dks¨t‚tdƒd dks¼t‚tdƒd dksÐt‚dtdƒ dksät‚dtdƒ dksøt‚dtdƒ dkst‚d S )Nç      @é   g      @r   ù      @        ©r   r   r   r	   r	   r	   r
   Útest_add   s    r   c                   C   s  t dƒt dƒ dkst‚t dƒd dks,t‚t dƒd dks@t‚dt dƒ dksTt‚dt dƒ dksht‚dt dƒ dks|t‚tdƒt dƒ dks”t‚tdƒd dks¨t‚tdƒd dks¼t‚tdƒd dksÐt‚dtdƒ dksät‚dtdƒ dksøt‚dtdƒ dkst‚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t‚t dƒd dks,t‚t dƒd dks@t‚dt dƒ dksTt‚dt dƒ dksht‚dt dƒ dks|t‚tdƒt dƒ dks”t‚tdƒd dks¨t‚tdƒd dks¼t‚tdƒd dksÐt‚dtdƒ dksät‚dtdƒ dksøt‚dtdƒ dkst‚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t‚t dƒd dks,t‚t dƒd dks@t‚dt dƒ dksTt‚dt dƒ dksht‚dt dƒ dks|t‚tdƒt dƒ dks”t‚tdƒd dks¨t‚tdƒd dks¼t‚tdƒd dksÐt‚dtdƒ dksät‚dtdƒ dksøt‚dtdƒ dkst‚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t‚t dƒd dks,t‚t dƒd dks@t‚dt dƒ dksTt‚dt dƒ dksht‚dt dƒ dks|t‚tdƒt dƒ dks”t‚tdƒd dks¨t‚tdƒd dks¼t‚tdƒd dksÐt‚dtdƒ dksät‚dtdƒ dksøt‚dtdƒ dkst‚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 t‚dt dƒ t dƒd    krPdksVn t‚dt dƒ t dƒd   krzdks€n t‚dt dƒ t dƒd   kr¤dksªn t‚dt dƒ t dƒd   krÎdksÔn t‚dt dƒ t dƒd    krüdksn t‚dt dƒ t dƒd   kr*dks0n t‚d	t dƒ t dƒd
   krXdks^n t‚d S )Né   r   é   éþÿÿÿr   r   g      ð?r   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t‚tdƒtdƒd  dks:t‚td	ƒtd
ƒ td	ƒksVt‚td
ƒtd	ƒ td	ƒksrt‚tdƒtd
ƒ td
ƒksŽt‚td
ƒtdƒ td
ƒksªt‚tdƒd dks¾t‚tdƒd dksÒt‚tdƒd tdƒksêt‚tdƒtdƒ tdƒkst‚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	   r
   Útest_add_misck   s    r#   c                   C   s<   dt dƒ dkst‚t dƒ d¡r&t‚t dƒ d¡s8t‚d S )Nr   r   r   gá      @y       @Vçž¯Ò<)r   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t‚qqqqd S )N)r   r   )r   r   ©r   r   )r   é   )r   Úcomplexr   )ÚaÚbÚcÚdr	   r	   r
   Útest_complex_zeros~   s
    r-   c                  C   s®  t ddƒD ]} tt| ƒƒt| ƒks
t‚q
ttdƒƒtdƒks@t‚ttddƒƒtdƒksZt‚ttƒsft‚ttdƒƒtdƒks~t‚ttd	dƒƒttd
dƒƒksžt‚ddlm} tt dd¡ƒs¾t‚tt dd¡ƒdksÖt‚tt dd¡ƒtdƒksòt‚tt dd¡ƒtdƒkst‚tt dd¡ƒtdƒks.t‚tt dd¡ƒtdƒksLt‚t	j
dkrªttdƒdd  ƒtdd ƒks~t‚ttdƒdd  ƒt|ddd ƒƒksªt‚d S )Ni ÿÿÿé   r   r   r   y       @      @Z1e1000Z1e10000éd   éÈ   r   ©Úmpqr   éÿÿÿÿr'   ©r   r   iÐ  )ÚrangeÚhashr   r   r   ÚinfÚmpmath.rationalr2   r!   ÚsysÚversion_info)Úir2   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s2t‚tt| dtƒtksHt‚tttt| dtƒdtƒtdƒkslt‚tt| dtƒtks‚t‚d S )Nr   g¸ÔJzî5é5   g      °<g       <)	r!   r"   Ú
from_floatZmpf_subZmpf_addZfoneZround_upr   Z
round_down)r)   r	   r	   r
   Útest_add_rounding›   s    $$r?   c                   C   sJ   t dƒ t dƒd¡st‚t dƒ t dƒd¡r0t‚t dƒ t dƒ¡rFt‚d S )Ng333333ó?geâ533ó?gH¯¼šò×z>g•Ö&è.>gKÞuÃé¿gXÍˆýNÊè¿)r   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k	r’dt_|||ƒ}
dt_|||ƒ}dt_|||ƒ}|	||dd	|ksÈt‚|	||ƒ|ksÚt‚|	tk	r*|	||td	|
ksút‚|	||td
|
kst‚|	||dd|
ks*t‚tt|ddtd	|ksHt‚t|ƒ|
  ksrt‚qrqjqXdt_d S )Nr   gHáz®GÑ?g®Gázò?yR¸…ëQà?Ház®G@yHáz®Gñ?®Gáz®ï¿r0   é<   r=   ©Úprec)r"   T©Úexactr   )ÚoperatorÚaddZfaddÚsubÚfsubÚmulZfmulÚtruedivZfdivr   r   r!   rC   r   r7   Zfnegr"   )rF   Z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~t‚tt||dƒ|ks–t‚ttt	|ƒ|dƒ|ks²t‚t|ƒt|ƒ || ksÎt‚t|ƒt|ƒ || ksêt‚t|ƒ | ksþt‚t  | |¡}t  | |¡}t|ƒt|ƒ || ks8t‚t
t|ƒt|ƒtj|ƒt|| ƒksHt‚qHqqdt_d S )Nr   )r   é
   é   é(   r/   éú   iÕ  )r,   ÚuÚfr+   ÚnrP   r   )Úroundingr   )ÚrandomÚseedr!   r"   r5   Úrandintr   r   ÚintÚstrZmpf_mulÚfrom_intrC   )rC   rW   ÚMZM2r;   r)   r*   r	   r	   r
   Útest_exact_integer_arithmeticÄ   s(    


.r_   c                   C   s   t tdƒtƒdkst‚d S )Nr   )Zto_intr]   Zround_nearestr   r	   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.t‚ttƒdd… dd d… ksNt‚d	t _d S )
Nié  r   r   éöÿÿÿr3   Z
9518488472é	   Z
2164201989r   ©r!   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.t‚ttƒdd… dd d… ksNt‚d	t _d S )
Ni'  r   r   ra   r3   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s0t‚|dƒdks@t‚|d di fksTt‚|d dksdt‚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Úappendr   )rU   r)   r*   Úgr	   r	   r
   Útest_monitorì   s    rl   c                   C   sŠ  t tdƒƒdt fkst‚t tdƒƒdt fks4t‚t tdƒƒdksHt‚t tdƒƒdks\t‚t tdƒƒdkspt‚t tdƒƒd	ks„t‚t td
ƒƒdks˜t‚t tdƒƒdks¬t‚t tdƒƒdksÀt‚t tdƒƒd	ksÔt‚t tdƒƒdksèt‚t tdƒƒdksüt‚t tdƒƒdkst‚t tdƒƒdks(t‚t tdƒƒdks>t‚t tdƒƒdt fksZt‚t tdƒƒdkspt‚t tdƒƒdks†t‚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   r7   r   r   r	   r	   r	   r
   Útest_nint_distanceö   s$    ro   c                  C   s  dt _tddƒD ]š} t| ƒ| ks$t‚t| d ƒ| ks8t‚t| ƒ| ksHt‚t| d ƒ| d ks`t‚t| ƒ| kspt‚| d dkr–t| d ƒ| d ksªt‚qt| d ƒ| kst‚qttƒtks¼t‚ttƒtksÌt‚t	tt
ƒƒsÜt‚ttƒtksìt‚ttƒtksüt‚t	tt
ƒƒst‚ttƒtks t‚ttƒtks2t‚t	tt
ƒƒsDt‚tdƒdksVt‚td	ƒdksht‚td
ƒdkszt‚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dƒ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dƒdks.t‚td	ƒdks@t‚td
ƒdksRt‚tdƒdksdt‚tdƒdksvt‚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dƒ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d
ƒdks*t‚tdƒdks<t‚tdƒdksNt‚tdƒdks`t‚tdƒdksrt‚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dƒ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ƒD ]} t| ƒdkst‚qtdƒdks8t‚tdƒdksJt‚tdƒdks\t‚td ƒd!ksnt‚td"ƒd!ks€t‚td#ƒd!ks’t‚td$ƒdks¤t‚td%ƒ}t|ƒ|ks¾t‚t| ƒdksÒt‚td&ƒ}t| dd'td|d(d)ksüt‚td*ƒd+kst‚d S ),Nr   ra   rP   r   r   r   gš™™™™™¹?r   gÍÌÌÌÌÌì?gš™™™™™¹¿r3   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-400rB   TrD   y      
@      @y      Ð?      è?)r!   r"   r5   Úfloorr   ÚceilZnintr7   ZninfÚisnanÚnanÚfracr   rI   )rV   rT   r	   r	   r
   Útest_floor_ceil_nint_frac
  s’    "rv   c                  C   s®  ddl m}  ttƒdkst‚tdƒdks,t‚ttdƒƒdks@t‚ttƒdksPt‚ttdtƒƒdksft‚ttdtƒƒdks|t‚ttttƒƒdks’t‚ttddƒƒdks¨t‚ttttƒƒdks¾t‚ttttƒƒdksÔt‚t| dƒƒdksèt‚t| dƒƒdksüt‚ttƒdkst‚tt ƒdks"t‚tdƒdks4t‚ttƒdksFt‚td	ƒdksXt‚tttƒƒdksnt‚ttdtƒƒdks†t‚tttdƒƒdksžt‚ttttƒƒdks¶t‚ttttƒƒdksÎt‚ttttƒƒdksæt‚ttt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sNt‚t	td
ƒƒdksdt‚t	dƒdksvt‚t	tdƒƒdksŒt‚t	dƒdksžt‚t	tƒdks°t‚t	t ƒdksÄt‚t	tƒdksÖt‚t	t
tƒƒdksìt‚t	tddƒƒdkst‚t	tddƒƒdkst‚t	tddƒƒdks4t‚t	tddƒƒdksLt‚t	tdtƒƒdksdt‚t	tdtƒƒdks|t‚t	tdtƒƒdks”t‚t	tdtƒƒdks¬t‚t	tdt ƒƒdksÆt‚t	ttdƒƒdksÞt‚t	ttdƒƒdksöt‚t	ttdƒƒdkst‚t	ttdƒƒdks&t‚t	tttƒƒdks>t‚t	tttƒƒdksVt‚t	tttƒƒdksnt‚t	tt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dƒƒdksìt‚ttdƒƒdkst‚ttdƒƒdkst‚ttdƒƒdks.t‚ttdƒƒdksDt‚ttdƒƒdksZt‚tdƒdkslt‚ttƒdks~t‚ttƒdkst‚tt ƒdks¤t‚ttdƒƒdksºt‚ttdƒƒdksÐt‚ttdƒƒdksæt‚ttdtƒƒdksþt‚tttƒƒdkst‚ttddƒƒdks,t‚ttddƒƒdksDt‚ttddƒdddks`t‚ttddƒdddks|t‚ttddƒdddks˜t‚td	ƒdksªt‚td	dd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| dƒƒdks*t‚t| dƒƒdks@t‚t| dƒƒdksVt‚t d¡dksjt‚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 dd¡¡dksÖt‚t t dd¡¡dksòt‚t t dd¡¡dkst‚t t dd¡¡dks*t‚t t dd¡¡dksFt‚t d¡dksZt‚t d¡dksnt‚t d¡dks‚t‚t d¡dks–t‚t d¡dksªt‚d S )Nr   r1   Tr   Fr   r4   )r   r   rp   g      @g        rm   gš™™™™™	@)Zgaussianr   )r   rb   )rb   r   r&   )r   r   )r3   r   r   r3   gš™™™™™ñ¿g      ð¿y                y      ð¿        yš™™™™™ñ¿        y      ð¿š™™™™™¹?y        š™™™™™¹?)r8   r2   rs   rt   r   r   r7   r   ÚisinfZisnormalÚfloatZisintÚlongr!   Zisnpintr1   r	   r	   r
   Útest_isnan_etcW  sÌ    rz   c                   C   sD   t tƒt dƒkst‚t tƒt dƒks(t‚t tƒjt dƒjks@t‚d S )Nr7   z-infrt   )r   Zfinfr   ZfninfZfnanZ_mpf_r	   r	   r	   r
   Útest_issue_438À  s    r{   )ZmpmathZmpmath.libmprX   r9   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