
    gwD                     h    d dl T d Zd Zd Zd Zd Zd Zd Zd	 Zd
 Z	d Z
d Zd Zd Zd Zd ZdS )    )*c                     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    sJ t          t          d                    dk    sJ t	          t          d                    dk    sJ t          dd	          } d| v sJ d| v sJ d	| v sJ d
| vsJ d| vsJ t          dd	          | v sJ t          dd          | v sJ 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')   gg@r         @   
   )ivdpsmpistrreprinf)uws     V/var/www/html/ai-engine/env/lib/python3.11/site-packages/mpmath/tests/test_interval.pytest_interval_identityr      s   BFq66SAYYq66SQZZA#a))####r1::R####s5zz??QQQQQE

SSSSSB

A777766666666q====a<<<<r1::????q!99>>>>tQ<<q    sC==!!!!SD#Ar1::????q#;;!q!99Ar

""""S#q\\!!!!!!    c                     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    sJ t          t                              dd                    t          d          k    sJ t          t                              dd                    t          t                              dd                    k    sJ d S )Nr
   g      
@   y      @      @)r	   r
   )r   r   )hashr   r   mpc r   r   test_interval_hashr      s
   A<<477""""D		??d4jj((((Aa>>T#a((^^++++q		??d1gg%%%%qT

****uU##$$RVVE%-@-@(A(AAAAAAAr   c                     dt           _        t          d          t          dd          z   t          dd          k    sJ t          dd          dz  t          dd          k    sJ t          d          t          dd	          z   t          dt          d
                    k    sJ ddt          d          z  z  } | j        dcxk     r| j        k     sn J t          d          t          d          z  } t           xj        dz  c_        t                               d          }t           xj        dz  c_        | j        |cxk     r| j        k     sn J t          d          t          dt                    z  sJ t          dd          t          z  t          dd          k    sJ t          d          t          z  dk    sJ t          d          dz  t          t           t                    k    sJ t          t                    dz  t          t           t                    k    sJ t          d          t          z  t          t           t                    k    sJ dt          dt                    z  t          dd          k    sJ t          t          dd          t          dd          z  dz            dk    sJ t          dd          dz  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    sJ t          t          dd                    t          dd          k    sJ t          t          dd                    t          dd          k    sJ t          t          dd                    t          dd          k    sJ t          d          t          dd          z  t          d          k    sJ t          dd          t          d          z  t          d          k    sJ t          dd          j        dk    sJ t          dd          t          dd          z
  t          dd          k    sJ t          t           d          t          dt                    z
  t          t           d          k    sJ t          t           d          t          t           t                    z
  t          t           t                    k    sJ t          dt                    t          t           d          z
  t          dt                    k    sJ d S )Nr   r   r
   r   r      r	   r   gJz5z1.0000000000000002      ?2   iz0[-166.66666666666668561, -166.66666666666665719]@      r         )r   r   r   mpfabsqrtr   r   midpiabsdelta)xsqr)   r*   s       r   test_interval_arithmeticr2   #   s   BFq66C!HHAa((((q!99a<3q!99$$$$q66C5MM!SC0D,E,E%F%FFFFF	QQZA3====QS======A#c((AFFaKFF	BFFaKFF3>>>>ac>>>>>>q66C3KKq!99s?c!Qii''''q66C<1q66A:cT3''''s88a<3tS>>))))q66C<3tS>>))))s1c{{?c!Skk))))Bc#smm+q011:; ; ; ;q!99>SBZZ''''q88<1BFBE

ABF	
A3999939999BE

A7777s2ayy>>S1XX%%%%s3qzz??c#ajj((((s2ayy>>S1XX%%%%s2d||C

****q66C!HHA&&&&q88c!ffA&&&&q88>Qq88c!Ahh#b**,,,,tA;;Qs#sC4{{2222tA;;cT#&#sd3--7777q::SD#s2c{{222222r   c                     t          dd          t          z  t          t           d          k    sJ t          dd          t           z  t          dt                    k    sJ t          dd          t          z  t          dt                    k    sJ t          dd          t          dt                    z  t          dt                    k    sJ t          dd          t          z  t          t           t                    k    sJ t          dd          t          dt                    z  t          t           t                    k    sJ t          dd          t          t           t                    z  t          t           t                    k    sJ t          t           d          t          dd          z  t          t           d          k    sJ t          t           d          t          dd          z  t          t           d          z  sJ t          t           d          t          t           t                    z  t          t           t                    k    sJ t          dd          t          dd          z  t          dd          k    sJ t          d	d
          t          dd	          z  t          dd          k    sJ t          t          t                    dz  t          t           t                    k    sJ t          t           t                     dz  t          t           t                    k    sJ t          d          t          t           d	          z  t          t           t                    k    sJ t          d          t          dt                    z  t          t           t                    k    sJ t          dt                    t          d          z  t          t           t                    k    sJ t          t           d	          t          d          z  t          t           t                    k    sJ d S )Nr   r   r	   r   i   it   r   r
   r&   r!   r   r   r   r   r   r   test_interval_mulr7   N   s9   r1::sC4||++++r1::As++++q!99s?c!Skk))))q!99s1c{{"c!Skk1111r1::sC4~~----r1::As#sC4~~5555r1::SD#&#sdC..8888tQ<<#a))#sC4||3333tQ<<#a))#c3$ll2222tQ<<#sdC..(CcNN::::r!99SR[[ CSMM1111q88c"Qii3r!99,,,,sC==1SD#....tcT??Q#sdC..0000q66CQKK3tC==0000q66C3KK3tC==0000r#;;Q3tC==0000tA;;Q3tC==000000r   c                     t          d          dz  t          dd          k    sJ t          d          dz  t          dd          k    sJ t          dd          dz  t          dd          k    sJ t          dd          dz  t          dd          k    sJ t          dd          dz  t          dd          k    sJ t          dd          dz  t          dd          k    sJ t          d	d          dz  t          dd          k    sJ t          dd          dz  t          dd          k    sJ t          d
          dz  t          dd          k    sJ t          d          dz  t          dd          k    sJ t          d
          d	z  t          dd          k    sJ t          d          d	z  t          dd          k    sJ t          dd          t          z  t          dd          k    sJ t          dd          t           z  t          dt                    k    sJ t          dt                    t          z  t          dt                    k    sJ t          dt                    t           z  t          dt                    k    sJ t          dt                    t          z  t          dt                    k    sJ t          dt                    t           z  t          dd          k    sJ t          dd          dz  t          dd          k    sJ t          dd          dz  dk    sJ t          dd          t          d          z  t          dd          k    sJ d S )Nr
   r   	   r&   r	   r   r   ir   r         ?      пg      ?r6   r   r   r   test_interval_powr=   c   s   q6619Aq		!!!!r77A:Q""""r1::q=C1II%%%%r2;;>SAYY&&&&r2;;>Sb\\))))r1::q=CQKK''''r1::q=C1II%%%%r1::q=C1II%%%%q66R<3tT??****r77b=Cu------q66R<3vv......r77b=C//////q!99s1ayy((((q!99As++++q#;;#Q,,,,q#;;3$#a++----q#;;#Q,,,,q#;;3$#a))++++q!99>SAYY&&&&q!99>Qq88s1vvQq))))))r   c                  P    t          d          dz  t          d          k    sJ d S )Nr   r"   r   )r   r   r   r   test_interval_sqrtr?   z   s)    q66S=CFF""""""r   c                      t          dd          t          dd          z  t          t           d          k    sJ t          dd          t          dd          z  t          dt                    k    sJ t          t          t                    t          t          t                    z  t          dt                    k    sJ t          t          t                    t          dt                    z  t          dt                    k    sJ t          t          t                    t          dd          z  t          t          t                    k    sJ t          dt                    t          dt                    z  t          dt                    k    sJ t          dt                    t          dd          z  t          dt                    k    sJ t          dt                    t          dd          z  t          dt                    k    sJ t          dt                    t          dt                    z  t          dt                    k    sJ t          dd          t          dt                    z  t          dd          k    sJ t          dd          t          dt                    z  t          d	d
          k    sJ t          t           d          t          dt                    z  t          t           d
          k    sJ t          t           t                    t          dt                    z  t          t           t                    k    sJ t          dt                    t          dt                    z  t          dt                    k    sJ t          d	t                    t          dt                    z  t          dt                    k    sJ t          dd          t          t          t                    z  t          dd          k    sJ t          dd          t          t          t                    z  t          dd          k    sJ t          dd          t          t          t                    z  t          dd          k    sJ t          t           d          t          t          t                    z  t          t           d          k    sJ t          t           d          t          t          t                    z  t          t           d          k    sJ t          t           t                    t          t          t                    z  t          t           t                    k    sJ t          d	t                    t          t          t                    z  t          dt                    k    sJ t          dt                    t          t          t                    z  t          dt                    k    sJ t          dt                    t          t          t                    z  t          dt                    k    sJ t          t          t                    t          t          t                    z  t          dt                    k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          dt          
           k    sJ t          dd          t          dd          z  t          t           d          k    sJ t          dd          t          dd          z  t          t           d          k    sJ t          dd          t          dd          z  t          dt          
           k    sJ t          dd          t          dd          z  t          dt          
           k    sJ t          dd          t          dd          z  t          t           d          k    sJ t          dd          t          dd          z  t          t           d          k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          t           t          
           k    sJ t          dd          t          dd          z  t          t           d          k    sJ t          dd          t          dd          z  t          dt          
           k    sJ t          dd          t          dd          z  t          dt          
           k    sJ t          dd          t          dd          z  t          t           d          k    sJ t          dd          t          dd          z  t          t           d          k    sJ t          dd          t          dd          z  t          dt          
           k    sJ t          dd          t          dd          z  t          dt          
           k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          dd          k    sJ t          dd          t          dd          z  t          t           t                    k    sJ t          dd          t          dd          z  t          t           t                    k    sJ d S )Nr"   r	   r   r   r'   r   r;         i        r<   r   r   r:   g       g      @g       @g      g       @g       g      g      ?      ?r6   r   r   r   test_interval_divrF   }   s   sA;;R#sC46666q!99s1ayy C3KK////sC==3sC==(C3KK7777sC==3q#;;&#a++5555sC==3q!99$C5555q#;;Q$As3333q#;;Q"c!Skk1111q#;;Q"c!Skk1111q#;;Q$As3333r1::As#s2qzz1111r1::C%R4444tQ<<#c3--'3tR==8888tS>>CSMM)S#s^^;;;;q#;;S#&#a++5555r3<<#c3--'3sC==8888r1::C%Q2222q!99s3}}$Aq		1111q!99s3}}$Aq		1111tQ<<#c3--'3tQ<<7777tQ<<#c3--'3tQ<<7777tS>>CSMM)S#s^^;;;;r3<<#c3--'3q#;;6666q#;;S#&#a++5555q#;;S#&#a++5555sC==3sC==(C3KK7777r1::Aq		!S#t__4444q!99s1ayy CcTNN2222r1::Aq		!S#s^^3333tUc!Qii'3tU+;+;;;;;sA;;Q"c#tnn4444sA;;Q"c#tnn4444r4==3q!99$SD$7777r4==3q!99$SD$7777r1::B$SD3$7777q!99s2s||#sC4#6666r1::B$SD3$7777tUc"cll*c3$oo====sA;;R%cTC48888sA;;R%cTC48888r4==3r3<<'3tcT??::::r4==3r3<<'3tcT??::::r1::B

"c3$oo5555q!99s2qzz!S#s^^3333r1::B

"c#tnn4444tUc"ajj(CsdOO;;;;sA;;R#sC46666sA;;R#sC46666r4==3r1::%S3$7777r4==3r1::%S3$7777r1::C#s4~~5555q!99s3{{"c#smm3333r1::C#s4~~5555tUc#qkk)Su-=-=====sA;;S!$C5555sA;;S!$C5555r4==3sA;;&#dD//9999r4==3sA;;&#dD//9999r1::B%T37777q!99s2t}}$D#6666r1::B%S#6666tUc"dmm+s5#>>>>sA;;R&#dE*:*:::::sA;;R&#dE*:*:::::r4==3r4==(CcNN::::r4==3r4==(CcNN::::q!99s1ayy CcNN2222q!99s1ayy CcNN222222r   c                     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    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          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          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%z  z  t          d          z   }d&D ]}|t           _        d |dt          |          z            v sJ d |dd$d%z  z  t          |          z            v sJ d | d't          |          z            v sJ d | |t          |          z            v sJ d | dt          |          z            v sJ d | dd$d%z  z  t          |          z            v sJ 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        z            }	d|	v sJ |	dk    sJ |	dk    sJ t                               |dz   t           j        z            }	d|	v sJ |	dk    sJ |	dk    sJ t          d*d+d          D ]}t                               |t           j        z            }	d|	v sJ |	dk    sJ |r|	dk    sJ t                               |dz   t           j        z            }	d|	v sJ |	dk    sJ |	dk    sJ t          d*d)          D ]}t                               |dz   t           j        z            }	|	j	        dcxk     r|	j        k     sn J t                               |t           j        z            }	|r|	j	        dcxk     r|	j        k     sn J d S ),Nr   r   r	   g(J?rE   g	T?r   grSW&ڿg(J?g	T?r   g&?r   r"         ?gO?g	TgKt?g0.++g0.;      @r   g_tg$r   g      @gJkp'?gI<l?g&?gF?gݹ7gb~;sֿg4gV
Nɓ7   r   r#   )r   (   P   g      @r      irA   )r   r   cossintanr-   r   r   r(   r)   aempr*   cotrange)
rN   rO   rP   r-   r   pr   vnr0   s
             r   test_interval_cos_sinrX      s   BF
&C
&C
&C	B3s1vv;;!3s1vv;;!3s1Qxx==C 6<<<<<<3s1Qxx==C#89999993s1Qxx==C 68NOOOOOO3s1Qxx==C 6<<<<<<3s1Szz??c"8#>>>>>>3s2qzz??c"8#>>>>>>3s2s||$:C @ @@@@@3s2s||$;S A AAAAA3s2ayy>>S!79NOOOOOO3s2c{{s#9;QRRRRRR%'?@@CCBvDWDWWWWW(*BCCss3wW]K^K^G_G_____3s1c{{3s3{{s#:<STTTTTT3s1c{{s#9;QRRRRRR%'=>>##c!SkkBRBRRRRR3s3{{s#:<STTTTTT3s1c{{s#:<STTTTTTBF	"b&3s88A * *CC#b''	NN""""CC"b&R())))))CCB((((((CC#b''	NN""""CC#b''	NN""""CC"b&R()))))))BF3s1Szz??c"Qii''''3s1Szz??c"Qii''''3sC4{{s2ayy((((3sC4{{s2ayy((((CAJJAqs88;;rvvc{{#####qs88;;rvvayy!!!!!
s3qzzAqs88;;rvvayy!!!!!qs88;;rvvc{{#####2a]]  FF1RU7OOQwwwwBwwwwBwwwwFFAcE25=!!QwwwwBwwwwBwwwww2a]] 	 	FF1RU7OOAvvvvAvvvv 	6666FFAcE25=!!AvvvvAvvvvAvvvvv2a[[ ! !FFAcE25=!!sQ}}}}}}}}}}FF1RU7OO 	!3====QS======! !r   c                  J   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 sJ d	t                               ddgddg          vsJ t                               dd          d
z   dk    sJ t                               ddgddg          dz   dz   t                               ddgddg          k    sJ t                               ddgddg          dz  t                               ddgddg          k    sJ t                               ddgddg          dz  t                               ddgddg          k    sJ t                               ddgddg          dz  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          z                      t                              dd          t                              dd          z            sJ d
t                               d          dz  v sJ d
t                               d          dz  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    sJ t          t                               dddg                    t                               ddg          k    sJ 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    sJ t          t                               ddgddg                    t                               ddg          k    sJ t                               dd          dz  dk    sJ t                               dd          dz  dk    sJ t                               dd          dz  dk    sJ t                               dd          dz  dk    sJ t                               dd          dz  dk    sJ t                               dd          dz  dk    sJ t                               dd          dz  dk    sJ t                               dd          dz  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!   rA   y               @rB   r;   r   r   r"   r   r&         y            (@y      G      "@y     ]      ^y     ^@     y      ?      пy              )r   r   rR   r   exprQ   logr(   r.   r   rN   rO   r   r   r   test_interval_complexr`     s/   BFBF66!A;;$66!A;;$66!A;;$2661Q%1&&&&&&rvvqeQqE******66!A;;t####661Q%1"2%1qe)<)<<<<<661Q%1"bffaUAa5&9&99999661Q%1#rvvr"gqe'<'<<<<<661Q%1#rvvqeRG'<'<<<<<66$<<??266$<<(((((66$<<??266$<<(((((FF1QKK266#a==(,,RVVAa[[BFF3qMM-IJJJJJ"&&**#$$$$"&&**#$$$$rvvayy>>Qrvvc{{s""""rvva{{q    rvvayy>>Qrvva{{q    rvva12661Q%==0000rvvaA  BFFAa5MM1111rvvqeQrF##$$"v6666rvvqeRG$$%%2777766!A;;!q    66!A;;!%%%%66!A;;!y((((66!A;;!y((((66!A;;!y((((66!A;;!y((((66!A;;2.000066!A;;2.000066!99<<q		"""""66!99<<q		"""""66$<<??266$<<(((((66$<<??266$<<(((((((r   c                     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	                    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                    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           j                   sJ |j                            t           j                  sJ t                              ddgddg          } t                              |           }|j                            t           j                   sJ |j                            t           j                  sJ d S )Nr   r
   r   r&   rZ   r   r   r   y            @y             @r	   r[   r   y      ?      @y      ?       r;   y      ?      y       @      y            y             y            )	rR   r   r   argrQ   r-   r   r)   r*   )zts     r   test_interval_complex_argre   9  s   BFBF66!99>>>>66!99>>>>661Q%==A66"::==66$<<??266$<<(((((
2w!uA
q		A366"&&--     366"&&--     
1vqeA
q		A366"&&,,366"&&--     
!uaUA
q		A366"&&,,366"&&,,
!ubVA
q		A366"&&,,366"&&,,
!ubWA
q		A366"&&,,366"&&,,
1vr"gA
q		A366"&&--     366"&&,,
2w2wA
q		A366"&&--     366"&&--     
2w1vA
q		A36625&>>366"%==
1vr!fA
q		A36625&>>366"%==r   c                  6   dt           _        t                               ddg          } |                     d          J |                     d          J |                     d          J |                     d          du sJ |                     d          du sJ t                               d          } |                     d          d	u sJ |                     d
          d	u sJ |                     d          d	u sJ |                     d          du sJ |                     d          du sJ |                     t                               ddg                    J |                     t                               ddg                    J d S )Nr   r	   r   rH   gGz @FgGz?rI   Tg     @g@g5^I@gˡE@g     @)r   r   r(   rQ   )r0   s    r   test_interval_aerg   f  sz   BF
!uA4477???44994477???44::44::
sA449944	??d""""44	??d""""44;;%44;;%44E{##$$,,,44I''((00000r   c                     dxt           _        } t          dd          }t                               || dd          dk    sJ t                               || ddd	          d
k    sJ t                               || d          dk    sJ t                               || dd          dk    sJ t                               || dd          dk    sJ t          dd          }t                               || d          dk    sJ t                               t                               t          d                    | dd          dk    sJ t                               t          dd          | d          dk    sJ t           j        }t                               t                               t          d                    | d          dk    sJ dt           _        d S )Nr%   r	   r   	plusminusr!   )mode	error_dps
1.5 +- 0.5F)rj   
use_spacesrk   z1.5+-0.5percent)rj   z1.5 (33.33%)brackets)rj   rm   z	[1.0,2.0])<>)rj   ro   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   nstrrN   r^   )rW   r0   r^   s      r   test_interval_nstrrv   w  s   OBFQAq		A771akQ777<GGGG771akeq7IIZWWWW771ai7((N::::771ajU7;;{JJJJ771ajJ7??<OOOO#%<==A771af7%%)JJJJJ77266#a&&>>16e7DDHttttt773w((!&799=SSSSS
&C77266#h--((!&799=lllllBFFFr   c                  v   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    sJ t                               d          t          dd          k    sJ t                               d          t          dd          k    sJ d S )Nr   rl   z1.0z2.0r	   r   z'1.5 (33.33333333333333333333333333333%)z[1, 2]z1[2, 3]r\   r]   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   test_mpi_from_strry     s    BF::l##s3u::s5zz'B'BBBBBq!99

#LMMMMMM::h3q!99,,,,::i  CBKK////::n%%Y	)B)BBBBB::o&&#j)*D*DDDDDDDr   c                  	   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    sJ t                              d          t           t          gk    sJ t                              d          dk    sJ t                              d          dk    sJ t                              d          dk    sJ dt                              d          v sJ t                              d          dk    sJ t                              d          dk    sJ 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 rA|t                               |j	                  t                               |j                  gz  }t          d |D                       }t          d |D                       }t          d |D                       }t          d |D                       }t                              |          }|j	                            |          sJ |j                            |          sJ |j
                            |          sJ |j                            |          sJ /d S )Nr   r   r	   r   r
   r!   gkﴑ[r'   g9B.?r   r;   r   r&   r   c                     g | ]	}|j         
S r   real.0ys     r   
<listcomp>z'test_interval_gamma.<locals>.<listcomp>      +++1+++r   c                     g | ]	}|j         
S r   r|   r~   s     r   r   z'test_interval_gamma.<locals>.<listcomp>  r   r   c                     g | ]	}|j         
S r   imagr~   s     r   r   z'test_interval_gamma.<locals>.<listcomp>  r   r   c                     g | ]	}|j         
S r   r   r~   s     r   r   z'test_interval_gamma.<locals>.<listcomp>  r   r   )rR   r   r   rgammafacgammar   loggammar   r)   cr*   dr   minmaxrQ   )xsr0   ysmin_realmax_realmin_imagmax_imagrc   s           r   test_interval_gammar     s   BFBF99Q<<166!99>>>>66!99>>>>66!99>>>>66!99>>>>88A;;C4*$$$$88A;;!88A;;!88A;;!!RXXd^^3333;;q>>Q;;q>>Q!R[[^^3333
&&!A!u


&&!A2w


&&!A1v


&&!A1v


&&!A1v


&&"R!A


&&"R"R
!
!
#B     kk"&&QS//**kk"&&QS//**kk"&&QS//**kk"&&QS//**, ;;2;;qs##R[[%5%566B+++++,,+++++,,+++++,,+++++,,KKNNsvvhsvvhsvvhsvvh   r   c            
      .   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    sJ t          |j                  t          |          k    sJ t          |j                  t          |           k    sJ t          |j                  t          |          k    sJ d S )Nr   )g       r   )rD   r"   )rE   r	   )-infg     4@r   r   )
rR   r   r   floatr+   r   intr*   r)   complex)r)   r*   rs      r   test_interval_conversionsr     s    BFBFJ&%Q..!9; * *11II13xx3q66!!!!QSzzU1XX%%%%QSzzU1XX%%%%qs||wqzz))))qs||wqzz)))))* *r   N)mpmathr   r   r2   r7   r=   r?   rF   rX   r`   re   rg   rv   ry   r   r   r   r   r   <module>r      s      # # #0B B B)3 )3 )3V1 1 1** * *.# # #D3 D3 D3LK! K! K!Z') ') ')R+ + +Z1 1 1"  "E E E(  (  ( T
* 
* 
* 
* 
*r   