U
    —9%ewD  ã                   @   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   s‚  dt _tdƒtddƒkst‚tdƒtddƒks2t‚tdƒtddƒkrHt‚tddƒtddƒks`t‚ttdƒƒdkstt‚ttdƒƒdksˆt‚tdd	ƒ} d| ksžt‚d| ksªt‚d	| ks¶t‚d
| ksÂ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 tƒ}tddƒ|ks:t‚tdtƒ|ksNt‚tddƒtddƒksht‚d	tt dƒks~t‚d S )Né   é   éþÿÿÿéÿÿÿÿé   z0.1z1[0.099999999999999991673, 0.10000000000000000555]z2mpi('0.099999999999999992', '0.10000000000000001')é   gš™™™™™ñ¿gÍÌÌÌÌÌ@r   ç      @éûÿÿÿé   é
   )ÚivÚdpsÚmpiÚAssertionErrorÚstrÚreprÚinf)ÚuÚw© r   úY/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/mpmath/tests/test_interval.pyÚtest_interval_identity   s,    
r   c                   C   s®   t tdƒƒt dƒkst‚t tdƒƒt dƒks0t‚t tddƒƒt tddƒƒksPt‚t t d¡ƒt dƒksjt‚t t dd¡ƒt dƒks†t‚t t dd¡ƒt t dd¡ƒksªt‚d S )Nr   g      
@é   y      @      @)r   r   )r   r   )Úhashr   r   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&t‚tddƒd tddƒksBt‚tdƒtdd	ƒ tdtd
ƒƒksft‚ddtdƒ  } | jd  k rŽ| jk s”n t‚tdƒtdƒ } t  jd7  _t  d¡}t  jd8  _| j|  k râ| jk sèn t‚tdƒtdtƒ sþt‚tddƒt tddƒkst‚tdƒt dks2t‚tdƒd tt tƒksPt‚ttƒd tt tƒksnt‚tdƒt tt tƒksŒt‚dtdtƒ tddƒksªt‚t	tddƒtddƒ d ƒdksÐt‚tddƒd tddƒksît‚tddƒj
dkst‚dt _tt jƒ}dt _|
 }|j|jk s2t‚|j|jksDt‚tt jƒ}||
 ks^t‚ttddƒƒtddƒks|t‚ttddƒƒtddƒksšt‚ttddƒƒtddƒks¸t‚ttddƒƒtddƒksÖt‚tdƒtddƒ tdƒksöt‚tddƒtdƒ tdƒkst‚tddƒjdks,t‚tddƒtddƒ tddƒksPt‚tt dƒtdtƒ tt dƒksxt‚tt dƒtt tƒ tt tƒks¢t‚tdtƒtt dƒ tdtƒksÈt‚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   r   ÚmpfÚaÚbÚsqrtr   r   ÚmidÚpiÚabsÚdelta)ÚxÚsqr%   r&   r   r   r   Útest_interval_arithmetic#   sT     $
ÿ


  $(*r.   c                   C   s€  t ddƒt t t dƒkst‚t ddƒt  t dtƒks<t‚t ddƒt t dtƒksXt‚t ddƒt dtƒ t dtƒkszt‚t ddƒt t t tƒks˜t‚t ddƒt dtƒ t t tƒks¼t‚t ddƒt t tƒ t t tƒksât‚t t dƒt ddƒ t t dƒks
t‚t t dƒt ddƒ t t dƒ s2t‚t t dƒt t tƒ t t tƒks\t‚t ddƒt ddƒ t ddƒks€t‚t d	d
ƒt dd	ƒ t ddƒks¤t‚t ttƒd t t tƒksÄt‚t t t ƒd t t tƒksèt‚t dƒt t d	ƒ t t tƒkst‚t dƒt dtƒ t t tƒks2t‚t dtƒt dƒ t t tƒksVt‚t t d	ƒt dƒ t t tƒks|t‚d S )Nr   r   r   r
   iàÿÿÿé   itÿÿÿé    r   r   r"   r   r   ©r   r   r   r   r   r   r   Útest_interval_mulN   s$    "$&((*$$ $&$$r2   c                   C   s`  t dƒd t ddƒkst‚t dƒd t ddƒks4t‚t ddƒd t ddƒksPt‚t ddƒd t ddƒkslt‚t ddƒd t ddƒksˆt‚t ddƒd t ddƒks¤t‚t d	dƒd t ddƒksÀt‚t ddƒd t ddƒksÜt‚t d
ƒd t ddƒksöt‚t dƒd t ddƒkst‚t d
ƒd	 t ddƒks.t‚t dƒd	 t ddƒksJt‚t ddƒt t ddƒksht‚t ddƒt  t dtƒksˆt‚t dtƒt t dtƒks¦t‚t dtƒt  t dtƒksÆt‚t dtƒt t dtƒksät‚t dtƒt  t ddƒkst‚t ddƒd t ddƒks"t‚t ddƒd dks:t‚t ddƒt dƒ t ddƒks\t‚d S )Nr   r   é	   r"   r   r   r   iåÿÿÿr   r   ç      Ð?éüÿÿÿç      Ð¿g      °?)r   r   r   r   r   r   r   Útest_interval_powc   s*       r7   c                   C   s   t dƒd t dƒkst‚d S )Nr   r   r   )r   r   r   r   r   r   Útest_interval_sqrtz   s    r8   c                   C   sÀ	  t ddƒt ddƒ t t dƒks$t‚t ddƒt ddƒ t dtƒksFt‚t ttƒt ttƒ t dtƒksht‚t ttƒt dtƒ t dtƒksŠt‚t ttƒt ddƒ t ttƒks¬t‚t dtƒt dtƒ t dtƒksÎt‚t dtƒt ddƒ t dtƒksðt‚t dtƒt ddƒ t dtƒkst‚t dtƒt dtƒ t dtƒks8t‚t ddƒt dtƒ t ddƒks\t‚t ddƒt dtƒ t d	d
ƒks€t‚t t dƒt dtƒ t t d
ƒks¨t‚t t tƒt dtƒ t t tƒksÐt‚t dtƒt dtƒ t dtƒksôt‚t d	tƒt dtƒ t dtƒkst‚t ddƒt ttƒ t ddƒks<t‚t ddƒt ttƒ t ddƒks`t‚t ddƒt ttƒ t ddƒks„t‚t t dƒt ttƒ t t dƒks¬t‚t t dƒt ttƒ t t dƒksÔt‚t t tƒt ttƒ t t tƒksüt‚t d	tƒt ttƒ t dtƒks t‚t dtƒt ttƒ t dtƒksDt‚t dtƒt ttƒ t dtƒksht‚t ttƒt ttƒ t dtƒksŒt‚t ddƒt ddƒ t t t
 ƒks´t‚t ddƒt ddƒ t dt
 ƒksÚt‚t ddƒt ddƒ t t dƒks t‚t ddƒt ddƒ t t dƒks&t‚t ddƒt ddƒ t dt
 ƒksLt‚t ddƒt ddƒ t dt
 ƒksrt‚t ddƒt ddƒ t t dƒks˜t‚t ddƒt ddƒ t t dƒks¾t‚t ddƒt ddƒ t t t
 ƒksæt‚t ddƒt ddƒ t t t
 ƒkst‚t ddƒt ddƒ t t t
 ƒks6t‚t ddƒt ddƒ t t t
 ƒks^t‚t ddƒt ddƒ t t t
 ƒks†t‚t ddƒt ddƒ t t t
 ƒks®t‚t ddƒt ddƒ t t t
 ƒksÖt‚t ddƒt ddƒ t t t
 ƒksþt‚t ddƒt ddƒ t t t
 ƒks&t‚t ddƒt ddƒ t t dƒksLt‚t ddƒt ddƒ t dt
 ƒksrt‚t ddƒt ddƒ t dt
 ƒks˜t‚t ddƒt ddƒ t t dƒks¾t‚t ddƒt ddƒ t t dƒksät‚t ddƒt ddƒ t dt
 ƒks
t‚t ddƒt ddƒ t dt
 ƒks0t‚t ddƒt ddƒ t ddƒksTt‚t ddƒt ddƒ t ddƒksxt‚t ddƒt ddƒ t ddƒksœt‚t ddƒt ddƒ t ddƒksÀt‚t ddƒt ddƒ t ddƒksät‚t ddƒt ddƒ t ddƒkst‚t ddƒt ddƒ t ddƒks,t‚t ddƒt ddƒ t ddƒksPt‚t ddƒt ddƒ t ddƒkstt‚t ddƒt ddƒ t ddƒks˜t‚t ddƒt ddƒ t ddƒks¼t‚t ddƒt ddƒ t ddƒksàt‚t ddƒt ddƒ t ddƒk	st‚t ddƒt ddƒ t ddƒk	s(t‚t ddƒt ddƒ t ddƒk	sLt‚t ddƒt ddƒ t ddƒk	spt‚t ddƒt ddƒ t t tƒk	s–t‚t ddƒt ddƒ t t tƒk	s¼t‚d S )Nr   r   r   r   r#   r   r5   é   éøÿÿÿé   iðÿÿÿç        r6   r   r   r4   g       Àg      @g       @g      ð¿g       @g       Àg      Àg      À?ç      ð?r1   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s2t‚|tdƒƒdksFt‚| tddƒƒtddƒksbt‚|tddƒƒtddƒks~t‚| tddƒƒtdd	ƒksšt‚|tddƒƒtd
dƒks¶t‚|tddƒƒtddƒksÒt‚| tddƒƒtddƒksît‚| tddƒƒtddƒkst‚| tddƒƒtddƒks*t‚|tddƒƒtddƒksHt‚|tddƒƒtddƒksft‚tddƒ|tddƒƒks„t‚tddƒ|tddƒƒks¢t‚| tddƒƒs¶t‚| tddƒƒtddƒksÔt‚| tddƒƒtddƒksòt‚tddƒ|tddƒƒkst‚|tddƒƒtdd ƒks.t‚|tddƒƒtd!d"ƒksLt‚d#t _dd$d%  tdƒ }d&D ]¸}|t _d|dt|ƒ ƒksŽt‚d|dd$d%  t|ƒ ƒks°t‚d| d't|ƒ ƒksÊt‚d| |t|ƒ ƒksät‚d| dt|ƒ ƒksþt‚d| dd$d%  t|ƒ ƒksjt‚qjdt _| tdtƒƒtddƒksHt‚|tdtƒƒtddƒksft‚| tt dƒƒtddƒks†t‚|tt dƒƒtddƒks¦t‚|tddƒƒ}t	|j
ƒ t d¡¡sÐt‚t	|jƒ t d¡¡sìt‚t  tddƒ¡}t	|j
ƒ t d¡¡st‚t	|jƒ t d¡¡s4t‚td(d)dƒD ]~}t  |t j ¡}	d|	ksbt‚|	dkspt‚|	dks~t‚t  |d t j ¡}	d|	ks t‚|	dks®t‚|	dks@t‚q@td*d+dƒD ]„}t  |t j ¡}	d|	ksît‚|	dksüt‚|r|	dkst‚t  |d t j ¡}	d|	ks2t‚|	dks@t‚|	dksÌt‚qÌtd*d)ƒD ]t}t  |d t j ¡}	|	j
d  k r|	jk s–n t‚t  |t j ¡}	|r\|	j
d  k rÈ|	jk s\n t‚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úÿÿÿr9   )r   r   ÚcosÚsinÚtanr)   r   r   r   r$   r%   ÚaeÚmpr&   ZcotÚrange)
rE   rF   rG   r)   r   Úpr   ÚvÚnr,   r   r   r   Útest_interval_cos_sinÃ   sŽ    "&  "rN   c                   C   sh  dt _dt_t  dd¡dks t‚t  dd¡dks4t‚t  dd¡dksHt‚dt  ddgddg¡ksdt‚d	t  ddgddg¡ks€t‚t  dd¡d
 dks˜t‚t  ddgddg¡d d t  ddgddg¡ksÌt‚t  ddgddg¡d t  ddgddg¡ksüt‚t  ddgddg¡d t  ddgddg¡ks.t‚t  ddgddg¡d t  ddgddg¡ks`t‚t  d¡ t d¡¡s|t‚t  d¡ t d¡¡s˜t‚t  dd¡t  dd¡  t dd¡t dd¡ ¡sÐt‚d
t  d¡d ksèt‚d
t  d¡d ks t‚t	t  d¡ƒdkst‚t	t  t
¡ƒt
ks0t‚t	t  dd¡ƒdksJt‚t	t  d¡ƒdksbt‚t	t  dd¡ƒdks|t‚t	t  dddg¡ƒt  ddg¡ks¤t‚t	t  dddg¡ƒt  ddg¡ksÌt‚t	t  ddgddg¡ƒt  ddg¡ksøt‚t	t  ddgddg¡ƒt  ddg¡ks$t‚t  dd¡d dks>t‚t  dd¡d dksXt‚t  dd¡d dksrt‚t  dd¡d dksŒt‚t  dd¡d dks¦t‚t  dd¡d dksÀt‚t  dd¡d dksÚt‚t  dd¡d dksôt‚t  d¡ t d¡¡st‚t  d¡ t d¡¡s,t‚t  d¡ t d¡¡sHt‚t  d¡ t d¡¡sdt‚d S )Nr   r   r   ù       @      @y       @      @ù      ð?      @r   r   y       @      @y              ð?y              @r   r   r9   y               @r:   r5   r   r   r   r   r"   é   é   y      À      (@y      GÀ      "@y     À]À      ^Ày     €^@     ¨‚Ày      Ð?      Ð¿y              À¿)r   r   rI   r   r   ÚexprH   Úlogr$   r*   r   rE   rF   r   r   r   r   Útest_interval_complex  sL    40228((,,rU   c                  C   s$  dt _dt_t d¡dkst‚t d¡dks0t‚t ddg¡dksFt‚t d¡ t¡sZt‚t d¡ t d¡¡stt‚t ddgddg¡} t | ¡}|j t  d	¡¡s¨t‚|j	 t  d
¡¡s¾t‚t ddgddg¡} t | ¡}|j t  d¡¡sòt‚|j	 t  d
¡¡s
t‚t ddgddg¡} t | ¡}|j t  d¡¡s@t‚|j	 t  d¡¡sXt‚t ddgddg¡} t | ¡}|j t  d¡¡sŽt‚|j	 t  d¡¡s¦t‚t ddgddg¡} t | ¡}|j t  d¡¡sÜt‚|j	 t  d¡¡sôt‚t ddgddg¡} t | ¡}|j t  d¡¡s*t‚|j	 t  d¡¡sBt‚t ddgddg¡} t | ¡}|j t  d¡¡sxt‚|j	 t  d¡¡st‚t ddgddg¡} t | ¡}|j t j ¡sÄt‚|j	 t j¡sØt‚t ddgddg¡} t | ¡}|j t j ¡st‚|j	 t j¡s t‚d S )Nr   r   r   r"   rO   r   r   r   y      ð¿      @y       À      @r   rP   r   y      ð?      @y      ð?       Àr5   y      ð?      Ày       @      Ày      ð¿      Ày       À      Ày      ð¿      À)
rI   r   r   Úargr   rH   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 ks&t‚|  d¡d ks8t‚|  d¡d ksJt‚|  d¡dks\t‚|  d¡dksnt‚t  d¡} |  d¡d	ksŠt‚|  d
¡d	ksœt‚|  d¡d	ks®t‚|  d¡dksÀt‚|  d¡dksÒt‚|  t  ddg¡¡d ksît‚|  t  ddg¡¡d kst‚d S )Nr   r   r   r?   g®Gáz @Fg®Gáz®ï?r@   Tg     @gþÿÿÿÿÿ@g5^ºI@gË¡E¶óý@g     @)r   r   r$   rH   r   )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.t‚t j|| dddd	d
ksJt‚t j|| dddksbt‚t j|| ddddks|t‚t j|| ddddks–t‚tddƒ}t j|| dddks¸t‚t jt  tdƒ¡| ddddksÜt‚t jtddƒ| dddksút‚t j}t jt  tdƒ¡| dddks$t‚dt _d S )Nr!   r   r   Z	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[   r`   z
<1.0, 2.0>z5.2582327113062393041z5.2582327113062749951Údiffz5.2582327113062[393041, 749951]z*0.54030230586813971740093660744[2955,3053]Z1e123Z1e129z[1.0e+123, 1.0e+129]z5000.1z-3.2797365856787867069110487[0926, 1191]e+2171r   )r   r   r   Znstrr   rE   rS   )rM   r,   rS   r   r   r   Útest_interval_nstrw  s    


$$rd   c                   C   s¢   dt _t  d¡ttdƒtdƒƒks&t‚tddƒt  d¡ks>t‚t  d¡tddƒksVt‚t  d	¡td
dƒksnt‚t  d¡tddƒks†t‚t  d¡tddƒksžt‚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   r   Útest_mpi_from_strˆ  s     rf   c                  C   s¦  dt _dt_t d¡dkst‚t d¡dks0t‚t d¡dksBt‚t d¡dksTt‚t d¡dksft‚t d¡t tgks~t‚t d¡dkst‚t d¡dks¢t‚t d¡dks´t‚dt d¡ksÆt‚t d¡dksØt‚t d¡dksêt‚d	t d¡ksüt‚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k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
 |¡sht‚|j |¡szt‚|j |¡sŒt‚|j |¡s‚t‚q‚d S )Nr   r   r   r   r   r   gkï´‘ø[Àr#   gï9úþB.æ?r   r5   r   r"   r   c                 S   s   g | ]
}|j ‘qS r   ©Úreal©Ú.0Úyr   r   r   Ú
<listcomp>±  s     z'test_interval_gamma.<locals>.<listcomp>c                 S   s   g | ]
}|j ‘qS r   rg   ri   r   r   r   rl   ²  s     c                 S   s   g | ]
}|j ‘qS r   ©Úimagri   r   r   r   rl   ³  s     c                 S   s   g | ]
}|j ‘qS r   rm   ri   r   r   r   rl   ´  s     )rI   r   r   Zrgammar   ZfacÚgammar   Zloggammar   r%   Úcr&   Údrn   ÚminÚmaxrH   )Zxsr,   ZysZmin_realZmax_realZmin_imagZmax_imagrW   r   r   r   Útest_interval_gamma‘  sP    ú
ý
rt   c                  C   s¬   dt _dt_dddddttdƒƒffD ]€\} }t| |ƒ}t|jƒt|ƒksNt‚t|j	ƒt| ƒksdt‚t|jƒt|ƒkszt‚t
|j	ƒt
| ƒkst‚t
|jƒt
|ƒks&t‚q&d S )Nr   )g       €r   )r<   r   )r=   r   )ú-infg     €4@ru   r   )rI   r   r   Úfloatr'   r   Úintr&   r   r%   Úcomplex)r%   r&   Úrr   r   r   Útest_interval_conversions»  s     ÿ
rz   N)Zmpmathr   r   r.   r2   r7   r8   r>   rN   rU   rY   rZ   rd   rf   rt   rz   r   r   r   r   Ú<module>   s   +FM)-	*