o
    lh"                     @   s   d dl Z d dlT 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 )!    N)*c                  C   sn  dt _tdtd  kr"td  kr"td  kr"tdks%J  J tdtd  kr=td	  kr=td
ks@J  J tdD ]} tdD ]}td| |f | d|  ks\J qJqDttddkshJ ttddksrJ ttddks|J ttddksJ ttddksJ ttddksJ ttddksJ ttddksJ ttddksJ ttddksJ ttddksJ ttddksJ ttddksJ ttddksJ ttdd ksJ ttd!d"ksJ 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s5J d,S )-z&
    Test basic string conversion
       3z3.0z0003.z0.03e2g      @30z30.0z00030.g      >@
   z%ie%iz25000.0z2500.0z250.0z25.02.5z0.25z0.025z0.0025z0.00025z0.000025z2.5e-5r   0.0z2.5e1000000000000000000000z2.5e+1000000000000000000000z2.6e-1000000000000000000000g-:<z1.23402834e-15g-:ּz-1.23402834e-15gK<ּz-1.2344e-15zmpf('-1.2343999999999999e-15')2163048125Lz2163048125.0z-2163048125lz-2163048125.0z-2163048125L/1088391168z-1.98738118113799z2163048125/1088391168lz1.98738118113799N)mpdpsmpfrangestrrepr)ij r   m/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/mpmath/tests/test_convert.pytest_basic_string   s8   D6"r   c                   C   s\   dt _ttddksJ ttdddksJ dt _dt_ttdddks)J dt_d S )NT      @r         @z(2.5 + 3.5j)Fz
[2.5, 3.5])r
   prettyr   r   mpcivmpir   r   r   r   test_pretty&   s   
r   c                   C   s   t ddksJ d S )Nz1.26 g)\(?)r   r   r   r   r   test_str_whitespace/   s   r   c                  C   sR   dt _z| } W n ty   t} Y nw t| ddksJ t| dtks'J d S )Nr   z2.76gGz@inf)r
   r   	NameErrorr   r   r   )unicoder   r   r   test_unicode2   s   r    c                   C   s^  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 tdd
dddks4J t tddddd	ksAJ t tdddddksNJ t tdddddks[J t tdddd
d
ddksjJ t tdddd
d
ddksyJ t tdddddksJ t tdddddksJ t tdddddksJ t tddddd ksJ d S )!Ng?r   F)strip_zerosz0.100000000000000g        T)show_zero_exponentz0.0e+0r   .0e+0z.0   r   gGz?   z1.23e+0gH?)r!   	min_fixed	max_fixedz1.23456789000000e-2g<^@z1.23456789000000e+2g wU3B  )r'   z212870000000000.0g `U]*@Cz2128700000000000.0g \UzRCz21287000000000000.0g~^3:Fz!2128700000000000000000000000000.0to_str
from_floatr   r   r   r   test_str_format;   s   r,   c                   C   s2   dt _tddttksJ tddttksJ d S )Nr   z0.5r   )r
   r   from_strround_floorfhalfround_ceilingr   r   r   r   test_tight_string_conversionJ   s   r1   c                  C   sf   t d dD ]&} | t_tdD ]}tt   d dt dd  }tt||ks,J qqdt_d	S )
zTest that eval(repr(x)) == x{   )r   r      2   d   r(         ?r   ir5   r   N)	randomseedr
   r   r   r   randintevalr   )r   r   ar   r   r   test_eval_repr_invariantQ   s   
 
r<   c                   C   s2   dt _ttddksJ ttddksJ d S )Nr   1e600z1.0e+6001e10000z
1.0e+10000)r
   r   r   r   r   r   r   r   test_str_bugs[   s   r?   c                   C   sr   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s7J d S )NgX9v?r   r#   gV瞯<z.0e-15g  4&kCz.0e+15gV瞯Ҽz-.0e-15g  4&kz-.0e+15r)   r   r   r   r   test_str_prec0a   s
   r@   c                   C   sF   dt _tdddtdksJ tdddtdksJ td	d
ks!J d S )Nr         5   )r   r%   r$      i   )r$      r%   )r   r$   r$   )r$   rD   )r
   r   from_rationalround_nearestto_rationalr   r   r   r   test_convert_rationalh   s   rL   c                  C   s   G dd d} G dd d}t d|   dksJ |  t d dks$J t |  dks-J | td tddks;J td|  tddksIJ t| d	ksRJ d S )
Nc                   @      e Zd Zedd ZdS )z test_custom_class.<locals>.mympfc                 S   s
   t djS )Nr   r   _mpf_selfr   r   r   rO   p   s   
z&test_custom_class.<locals>.mympf._mpf_N)__name__
__module____qualname__propertyrO   r   r   r   r   mympfo       rV   c                   @   rM   )z test_custom_class.<locals>.mympcc                 S   s   t djt djfS )Nr   r   rN   rP   r   r   r   _mpc_t   s   z&test_custom_class.<locals>.mympc._mpc_N)rR   rS   rT   rU   rX   r   r   r   r   mympcs   rW   rY   rD   g      @r   r   y      @      @)r   r   )rV   rY   r   r   r   test_custom_classn   s   rZ   c            	      C   s  G dd d} G dd d}G dd d}t d}td}|  }| }| }dD ]}|t_|| t d	s9J || t d	sDJ || td	d
sPJ || td	d
s\J || td	sgJ || td	srJ || td	d
s~J || td	d
sJ ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||k ||k ||k ||k ||k ||k ||k ||k q(dt_||tu s8J ||tu sBJ ||tu sLJ |	|tu sVJ |
|tu s`J ||tu sjJ ||tu stJ ||tu s~J t|dr||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu sJ ||tu s$J ||tu s.J ||tu s8J ||tu sBJ ||tu sLJ ||tu sVJ ||tu s`J ||tu sjJ d S )Nc                   @   s   e Zd ZdS )z0test_conversion_methods.<locals>.SomethingRandomN)rR   rS   rT   r   r   r   r   SomethingRandom   s    r[   c                   @      e Zd Zdd ZdS )z.test_conversion_methods.<locals>.SomethingRealc                 S   s   t td||S )N1.3)r
   make_mpfr-   rQ   precroundingr   r   r   _mpmath_   s   z7test_conversion_methods.<locals>.SomethingReal._mpmath_NrR   rS   rT   rb   r   r   r   r   SomethingReal       rd   c                   @   r\   )z1test_conversion_methods.<locals>.SomethingComplexc                 S   s   t td||td||fS )Nr]   1.7)r
   make_mpcr-   r_   r   r   r   rb      s   
z:test_conversion_methods.<locals>.SomethingComplex._mpmath_Nrc   r   r   r   r   SomethingComplex   re   rh   r%   )r   -   z4.3rf   r   __cmp__)r   r   r
   r   ae__add__NotImplemented__radd____lt____gt____le____ge____eq____ne__hasattrrj   __sub____rsub____mul____rmul____div____rdiv____mod____rmod____pow____rpow__)	r[   rd   rh   xzr;   ywdr   r   r   test_conversion_methods~   sp   
@@@@Br   c                   C   sT   t ddksJ t dtddksJ t dtddksJ t dtd	ks(J d S )
Nz1/2r6   z
(1.0+1.0j)r$   z(1.2e-10 - 3.4e5j)z1.2e-10z-3.4e51jy              ?)	mpmathifyr   r   r   r   r   test_mpmathify   s   r   c                   C   s*   zt ddd  d  W n   Y d S J )N(1i  z!j)r   r   r   r   r   test_issue548   s
   r   c                  C   sF  zdd l } ddlm} ddlm} dd l}W n
 ty    Y d S w | jjj	 D ]F}t
|| jr8|tdd}nt
|| jrC|d}n
t
|| jrM|d}z| t| |t|| | }W n   Y q(|dk snJ q(tj}dt_tj| _t|dd	ttd
sJ t|d|d	 ttd
sJ |t_d S )Nr   )Fraction)Decimalr6   g      rD   g      <r(   r%   z2/3)numpy	fractionsr   decimalr   ImportErrorcorenumerictypestypeDictvalues
issubclasscomplexfloatingcomplexfloatingintegerabstypesqrtr
   r`   r   
getcontextrk   r   )npr   r   r   nptyper   diffoldprecr   r   r   test_compatibility   s0   
,
 &
r   )r7   mpmathmpmath.libmpr   r   r   r    r,   r1   r<   r?   r@   rL   rZ   r   r   r   r   r   r   r   r   <module>   s$     		
A
