o
    lÇhwD  ã                   @   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   sv  dt _tdƒtddƒksJ ‚tdƒtddƒksJ ‚tdƒtddƒkr$J ‚tddƒtddƒks0J ‚ttdƒƒdks:J ‚ttdƒƒdksDJ ‚tdd	ƒ} d| v sOJ ‚d| v sUJ ‚d	| v s[J ‚d
| vsaJ ‚d| vsgJ ‚tdd	ƒ| v spJ ‚tddƒ| v syJ ‚td
dƒ| vs‚J ‚tddƒ| vs‹J ‚tt tƒ}tddƒ|v sšJ ‚tdtƒ|v s£J ‚tddƒtddƒv s¯J ‚d	tt dƒvs¹J ‚d S )Né   é   éþÿÿÿéÿÿÿÿé   z0.1z1[0.099999999999999991673, 0.10000000000000000555]z2mpi('0.099999999999999992', '0.10000000000000001')é   gš™™™™™ñ¿gÍÌÌÌÌÌ@r   ç      @éûÿÿÿé   é
   )ÚivÚdpsÚmpiÚstrÚreprÚinf)ÚuÚw© r   ún/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/mpmath/tests/test_interval.pyÚtest_interval_identity   s,   
r   c                   C   s®   t tdƒƒt dƒksJ ‚t tdƒƒt dƒksJ ‚t tddƒƒt tddƒƒks(J ‚t t d¡ƒt dƒks5J ‚t t dd¡ƒt dƒksCJ ‚t t dd¡ƒt t dd¡ƒksUJ ‚d S )Nr   g      
@é   y      @      @)r   r   )r   r   )Úhashr   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J ‚tddƒd tddƒks!J ‚tdƒtdd	ƒ tdtd
ƒƒks3J ‚ddtdƒ  } | jd  k rH| jk sKJ ‚ J ‚tdƒtdƒ } t  jd7  _t  d¡}t  jd8  _| j|  k rs| jk svJ ‚ J ‚tdƒtdtƒ sJ ‚tddƒt tddƒksJ ‚tdƒt dks™J ‚tdƒd tt tƒks§J ‚ttƒd tt tƒksµJ ‚tdƒt tt tƒksÃJ ‚dtdtƒ tddƒksÑJ ‚ttddƒtddƒ d ƒdksãJ ‚tddƒd tddƒksñJ ‚tddƒj	dksûJ ‚dt _tt j
ƒ}dt _|
 }|j|jk sJ ‚|j|jksJ ‚tt j
ƒ}||
 ks(J ‚ttddƒƒtddƒks7J ‚ttddƒƒtddƒksFJ ‚ttddƒƒtddƒksUJ ‚ttddƒƒtddƒksdJ ‚tdƒtddƒ tdƒkstJ ‚tddƒtdƒ tdƒks„J ‚tddƒjdksJ ‚tddƒtddƒ tddƒks¡J ‚tt dƒtdtƒ tt dƒksµJ ‚tt dƒtt tƒ tt tƒksÊJ ‚tdtƒtt dƒ tdtƒksÝJ ‚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   ÚmpfÚaÚbÚsqrtr   r   ÚmidÚpiÚabsÚdelta)ÚxÚsqr$   r%   r   r   r   Útest_interval_arithmetic#   sT    $ 
 ÿ

  $(**r-   c                   C   sp  t ddƒt t t dƒksJ ‚t ddƒt  t dtƒksJ ‚t ddƒt t dtƒks,J ‚t ddƒt dtƒ t dtƒks=J ‚t ddƒt t t tƒksLJ ‚t ddƒt dtƒ t t tƒks^J ‚t ddƒt t tƒ t t tƒksqJ ‚t t dƒt ddƒ t t dƒks„J ‚t t dƒt ddƒ t t dƒ s—J ‚t t dƒt t tƒ t t tƒks«J ‚t ddƒt ddƒ t ddƒks¼J ‚t d	d
ƒt dd	ƒ t ddƒksÍJ ‚t ttƒd t t tƒksÜJ ‚t t t ƒd t t tƒksíJ ‚t dƒt t d	ƒ t t tƒksÿJ ‚t dƒt dtƒ t t tƒksJ ‚t dtƒt dƒ t t tƒks#J ‚t t d	ƒt dƒ t t tƒks6J ‚d S )Nr   r   r   r
   iàÿÿÿé   itÿÿÿé    r   r   r!   r   r   ©r   r   r   r   r   r   Útest_interval_mulN   s$   "$&&&("""$$$*r1   c                   C   sN  t dƒd t ddƒksJ ‚t dƒd t ddƒksJ ‚t ddƒd t ddƒks(J ‚t ddƒd t ddƒks6J ‚t ddƒd t ddƒksDJ ‚t ddƒd t ddƒksRJ ‚t d	dƒd t ddƒks`J ‚t ddƒd t ddƒksnJ ‚t d
ƒd t ddƒks{J ‚t dƒd t ddƒksˆJ ‚t d
ƒd	 t ddƒks•J ‚t dƒd	 t ddƒks¢J ‚t ddƒt t ddƒks°J ‚t ddƒt  t dtƒks¿J ‚t dtƒt t dtƒksÍJ ‚t dtƒt  t dtƒksÜJ ‚t dtƒt t dtƒksêJ ‚t dtƒt  t ddƒksùJ ‚t ddƒd t ddƒksJ ‚t ddƒd dksJ ‚t ddƒt dƒ t ddƒks%J ‚d S )Nr   r   é	   r!   r   r   r   iåÿÿÿr   r   ç      Ð?éüÿÿÿç      Ð¿g      °?r0   r   r   r   r   Útest_interval_powc   s*   &r6   c                   C   s   t dƒd t dƒksJ ‚d S )Nr   r   r   )r   r   r   r   r   Útest_interval_sqrtz   s   r7   c                   C   s²	  t ddƒt ddƒ t t dƒksJ ‚t ddƒt ddƒ t dtƒks#J ‚t ttƒt ttƒ t dtƒks4J ‚t ttƒt dtƒ t dtƒksEJ ‚t ttƒt ddƒ t ttƒksVJ ‚t dtƒt dtƒ t dtƒksgJ ‚t dtƒt ddƒ t dtƒksxJ ‚t dtƒt ddƒ t dtƒks‰J ‚t dtƒt dtƒ t dtƒksšJ ‚t ddƒt dtƒ t ddƒks«J ‚t ddƒt dtƒ t d	d
ƒks¼J ‚t t dƒt dtƒ t t d
ƒksÏJ ‚t t tƒt dtƒ t t tƒksâJ ‚t dtƒt dtƒ t dtƒksóJ ‚t d	tƒt dtƒ t dtƒksJ ‚t ddƒt ttƒ t ddƒksJ ‚t ddƒt ttƒ t ddƒks)J ‚t ddƒt ttƒ t ddƒks;J ‚t t dƒt ttƒ t t dƒksOJ ‚t t dƒt ttƒ t t dƒkscJ ‚t t tƒt ttƒ t t tƒkswJ ‚t d	tƒt ttƒ t dtƒks‰J ‚t dtƒt ttƒ t dtƒks›J ‚t dtƒt ttƒ t dtƒks­J ‚t ttƒt ttƒ t dtƒks¿J ‚t ddƒt ddƒ t t t
 ƒksÓJ ‚t ddƒt ddƒ t dt
 ƒksæJ ‚t ddƒt ddƒ t t dƒksùJ ‚t ddƒt ddƒ t t dƒksJ ‚t ddƒt ddƒ t dt
 ƒksJ ‚t ddƒt ddƒ t dt
 ƒks2J ‚t ddƒt ddƒ t t dƒksEJ ‚t ddƒt ddƒ t t dƒksXJ ‚t ddƒt ddƒ t t t
 ƒkslJ ‚t ddƒt ddƒ t t t
 ƒks€J ‚t ddƒt ddƒ t t t
 ƒks”J ‚t ddƒt ddƒ t t t
 ƒks¨J ‚t ddƒt ddƒ t t t
 ƒks¼J ‚t ddƒt ddƒ t t t
 ƒksÐJ ‚t ddƒt ddƒ t t t
 ƒksäJ ‚t ddƒt ddƒ t t t
 ƒksøJ ‚t ddƒt ddƒ t t t
 ƒksJ ‚t ddƒt ddƒ t t dƒksJ ‚t ddƒt ddƒ t dt
 ƒks2J ‚t ddƒt ddƒ t dt
 ƒksEJ ‚t ddƒt ddƒ t t dƒksXJ ‚t ddƒt ddƒ t t dƒkskJ ‚t ddƒt ddƒ t dt
 ƒks~J ‚t ddƒt ddƒ t dt
 ƒks‘J ‚t ddƒt ddƒ t ddƒks£J ‚t ddƒt ddƒ t ddƒksµJ ‚t ddƒt ddƒ t ddƒksÇJ ‚t ddƒt ddƒ t ddƒksÙJ ‚t ddƒt ddƒ t ddƒksëJ ‚t ddƒt ddƒ t ddƒksýJ ‚t ddƒt ddƒ t ddƒksJ ‚t ddƒt ddƒ t ddƒks!J ‚t ddƒt ddƒ t ddƒks3J ‚t ddƒt ddƒ t ddƒksEJ ‚t ddƒt ddƒ t ddƒksWJ ‚t ddƒt ddƒ t ddƒksiJ ‚t ddƒt ddƒ t ddƒks{J ‚t ddƒt ddƒ t ddƒksJ ‚t ddƒt ddƒ t ddƒksŸJ ‚t ddƒt ddƒ t ddƒks±J ‚t ddƒt ddƒ t t tƒksÄJ ‚t ddƒt ddƒ t t tƒks×J ‚d S )Nr   r   r   r   r"   r   r4   é   éøÿÿÿé   iðÿÿÿç        r5   r   r   r3   g       Àg      @g       @g      ð¿g       @g       Àg      Àg      À?ç      ð?r0   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sJ ‚|tdƒƒdks#J ‚| tddƒƒtddƒks1J ‚|tddƒƒtddƒks?J ‚| tddƒƒtdd	ƒksMJ ‚|tddƒƒtd
dƒks[J ‚|tddƒƒtddƒksiJ ‚| tddƒƒtddƒkswJ ‚| tddƒƒtddƒks…J ‚| tddƒƒtddƒks“J ‚|tddƒƒtddƒks¡J ‚|tddƒƒtddƒks¯J ‚tddƒ|tddƒƒv s½J ‚tddƒ|tddƒƒv sËJ ‚| tddƒƒsÔJ ‚| tddƒƒtddƒksâJ ‚| tddƒƒtddƒksðJ ‚tddƒ|tddƒƒv sþJ ‚|tddƒƒtdd ƒksJ ‚|tddƒƒtd!d"ƒksJ ‚d#t _dd$d%  tdƒ }d&D ]\}|t _d|dt|ƒ ƒv s=J ‚d|dd$d%  t|ƒ ƒv sNJ ‚d| d't|ƒ ƒv s[J ‚d| |t|ƒ ƒv shJ ‚d| dt|ƒ ƒv suJ ‚d| dd$d%  t|ƒ ƒv s†J ‚q+dt _| tdtƒƒtddƒksšJ ‚|tdtƒƒtddƒks©J ‚| tt dƒƒtddƒks¹J ‚|tt dƒƒtddƒksÉJ ‚|tddƒƒ}t|j	ƒ 
t d¡¡sÞJ ‚t|jƒ 
t d¡¡sìJ ‚t  tddƒ¡}t|j	ƒ 
t d¡¡sJ ‚t|jƒ 
t d¡¡sJ ‚td(d)dƒD ]?}t  |t j ¡}	d|	v s'J ‚|	dks.J ‚|	dks5J ‚t  |d t j ¡}	d|	v sFJ ‚|	dksMJ ‚|	dksTJ ‚qtd*d+dƒD ]B}t  |t j ¡}	d|	v smJ ‚|	dkstJ ‚|r~|	dks~J ‚t  |d t j ¡}	d|	v sJ ‚|	dks–J ‚|	dksJ ‚q\td*d)ƒD ]<}t  |d t j ¡}	|	j	d  k r¿|	jk sÂJ ‚ J ‚t  |t j ¡}	|rß|	j	d  k rÜ|	jk sßJ ‚ J ‚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úÿÿÿr8   )r   r   ÚcosÚsinÚtanr(   r   r   r#   r$   ÚaeÚmpr%   ÚcotÚrange)
rD   rE   rF   r(   r   Úpr   ÚvÚnr+   r   r   r   Útest_interval_cos_sinÃ   s’   "&  $$€ûrN   c                   C   sZ  dt _dt_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gddg¡v s2J ‚d	t  ddgddg¡vs@J ‚t  dd¡d
 dksLJ ‚t  ddgddg¡d d t  ddgddg¡ksfJ ‚t  ddgddg¡d t  ddgddg¡ks~J ‚t  ddgddg¡d t  ddgddg¡ks–J ‚t  ddgddg¡d t  ddgddg¡ks®J ‚t  d¡ t d¡¡s»J ‚t  d¡ t d¡¡sÈJ ‚t  dd¡t  dd¡  t dd¡t dd¡ ¡sãJ ‚d
t  d¡d v sîJ ‚d
t  d¡d v sùJ ‚tt  d¡ƒdksJ ‚tt  t	¡ƒt	ksJ ‚tt  dd¡ƒdksJ ‚tt  d¡ƒdks*J ‚tt  dd¡ƒdks7J ‚tt  dddg¡ƒt  ddg¡ksKJ ‚tt  dddg¡ƒt  ddg¡ks_J ‚tt  ddgddg¡ƒt  ddg¡ksuJ ‚tt  ddgddg¡ƒt  ddg¡ks‹J ‚t  dd¡d dks˜J ‚t  dd¡d dks¥J ‚t  dd¡d dks²J ‚t  dd¡d dks¿J ‚t  dd¡d dksÌJ ‚t  dd¡d dksÙJ ‚t  dd¡d dksæJ ‚t  dd¡d dksóJ ‚t  
d¡ t 
d¡¡sJ ‚t  d¡ t d¡¡sJ ‚t  
d¡ t 
d¡¡sJ ‚t  d¡ t d¡¡s+J ‚d S )Nr   r   r   ù       @      @y       @      @ù      ð?      @r   r   y       @      @y              ð?y              @r   r   r8   y               @r9   r4   r   r   r   r   r!   é   é   y      À      (@y      GÀ      "@y     À]À      ^Ày     €^@     ¨‚Ày      Ð?      Ð¿y              À¿)r   r   rH   r   ÚexprG   Úlogr#   r)   r   rD   rE   r   r   r   r   Útest_interval_complex  sL   40006((,, rU   c                  C   s  dt _dt_t d¡dksJ ‚t d¡dksJ ‚t ddg¡dks#J ‚t d¡ t¡s-J ‚t d¡ t d¡¡s:J ‚t ddgddg¡} t | ¡}|j t  d	¡¡sTJ ‚|j t  d
¡¡s_J ‚t ddgddg¡} t | ¡}|j t  d¡¡syJ ‚|j t  d
¡¡s„J ‚t ddgddg¡} t | ¡}|j t  d¡¡sžJ ‚|j t  d¡¡s©J ‚t ddgddg¡} t | ¡}|j t  d¡¡sÃJ ‚|j t  d¡¡sÎJ ‚t ddgddg¡} t | ¡}|j t  d¡¡sèJ ‚|j t  d¡¡sóJ ‚t ddgddg¡} t | ¡}|j t  d¡¡sJ ‚|j t  d¡¡sJ ‚t ddgddg¡} t | ¡}|j t  d¡¡s5J ‚|j t  d¡¡sAJ ‚t ddgddg¡} t | ¡}|j t j ¡s[J ‚|j t j¡seJ ‚t ddgddg¡} t | ¡}|j t j ¡sJ ‚|j t j¡s‰J ‚d S )Nr   r   r   r!   rO   r   r   r   y      ð¿      @y       À      @r   rP   r   y      ð?      @y      ð?       Àr4   y      ð?      Ày       @      Ày      ð¿      Ày       À      Ày      ð¿      À)	rH   r   r   ÚargrG   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 u sJ ‚|  d¡d u sJ ‚|  d¡d u s%J ‚|  d¡du s.J ‚|  d¡du s7J ‚t  d¡} |  d¡d	u sEJ ‚|  d
¡d	u sNJ ‚|  d¡d	u sWJ ‚|  d¡du s`J ‚|  d¡du siJ ‚|  t  ddg¡¡d u swJ ‚|  t  ddg¡¡d u s…J ‚d S )Nr   r   r   r>   g®Gáz @Fg®Gáz®ï?r?   Tg     @gþÿÿÿÿÿ@g5^ºI@gË¡E¶óý@g     @)r   r   r#   rG   )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J ‚t j|| dddd	d
ks%J ‚t j|| dddks1J ‚t j|| ddddks>J ‚t j|| ddddksKJ ‚tddƒ}t j|| dddks\J ‚t jt  tdƒ¡| ddddksnJ ‚t jtddƒ| dddks}J ‚t j}t jt  tdƒ¡| dddks‘J ‚dt _d S )Nr    r   r   Ú	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\   ra   z
<1.0, 2.0>z5.2582327113062393041z5.2582327113062749951Údiffz5.2582327113062[393041, 749951]z*0.54030230586813971740093660744[2955,3053]Ú1e123Ú1e129z[1.0e+123, 1.0e+129]z5000.1z-3.2797365856787867069110487[0926, 1191]e+2171r   )r   r   r   ÚnstrrD   rS   )rM   r+   rS   r   r   r   Útest_interval_nstrw  s   


$"
rh   c                   C   s¢   dt _t  d¡ttdƒtdƒƒksJ ‚tddƒt  d¡v sJ ‚t  d¡tddƒks+J ‚t  d	¡td
dƒks7J ‚t  d¡tddƒksCJ ‚t  d¡tddƒksOJ ‚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   Útest_mpi_from_strˆ  s    rj   c                  C   s¢  dt _dt_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s3J ‚t d¡t tgks?J ‚t d¡dksHJ ‚t d¡dksQJ ‚t d¡dksZJ ‚dt d¡v scJ ‚t d¡dkslJ ‚t d¡dksuJ ‚d	t d¡v s~J ‚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v 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	 |¡s3J ‚|j |¡s<J ‚|j
 |¡sEJ ‚|j |¡sNJ ‚qÁd S )Nr   r   r   r   r   r   gkï´‘ø[Àr"   gï9úþB.æ?r   r4   r   r!   r   c                 S   ó   g | ]}|j ‘qS r   ©Úreal©Ú.0Úyr   r   r   Ú
<listcomp>±  ó    z'test_interval_gamma.<locals>.<listcomp>c                 S   rk   r   rl   rn   r   r   r   rq   ²  rr   c                 S   rk   r   ©Úimagrn   r   r   r   rq   ³  rr   c                 S   rk   r   rs   rn   r   r   r   rq   ´  rr   )rH   r   r   ÚrgammaÚfacÚgammar   Úloggammar   r$   Úcr%   Údrt   ÚminÚmaxrG   )Úxsr+   ÚysÚmin_realÚmax_realÚmin_imagÚmax_imagrW   r   r   r   Útest_interval_gamma‘  sR   úý
ñrƒ   c                  C   s¬   dt _dt_dddddttdƒƒffD ]@\} }t| |ƒ}t|jƒt|ƒks'J ‚t|jƒt| ƒks2J ‚t|jƒt|ƒks=J ‚t	|jƒt	| ƒksHJ ‚t	|jƒt	|ƒksSJ ‚qd S )Nr   )g       €r   )r;   r   )r<   r   )ú-infg     €4@r„   r   )
rH   r   r   Úfloatr&   r   Úintr%   r$   Úcomplex)r$   r%   Úrr   r   r   Útest_interval_conversions»  s   ÿ
ùr‰   N)Úmpmathr   r   r-   r1   r6   r7   r=   rN   rU   rY   rZ   rh   rj   rƒ   r‰   r   r   r   r   Ú<module>   s     +FM)-	*