
    g<              	       x   d dl  d dlmZ d dlZdej                  v r2 eej                  ej                  j                  d      dz            ZndZdej                  v Zd a	d Z
d	 Zg Z e edd
             e eddd            z   D ]  Zej!                  dez  dg         edd
      D ].  Zej!                  dez  dg       ej!                  dez  dg       0 eg ddgddgddgddgddgddgddgddgddgddgddgddgddgddgd dgd!dgd"dgd#dgd$dgd%dgd"dgd&dgd'dgd(dgd$dgd)dgd*dgd+d,gd-d,gd.d/gd0d1gd2d3gd4d5gd6d7gd8d9gd:dgd;d<gd=dgd>dgd?dgd@dgdAdgdBdgdCdgdDdEgdFdGgdHdIgdJdKgdLdgdMdgdNdgdOdgdPdgdQdgdPdgdRdgdSdgdTdgdUdgdTdgdVdWgz  ZdXD ]  Zej!                  dYez  dg       ej!                  dZez  dg       ej!                  d[ez  dg       ej!                  d\ez  dg       ej!                  d]ez  dg       ej!                  d^ez  dg       ej!                  d_ez  dg       ej!                  d`ez  dg       ej!                  daez  dg       ej!                  dbez  dg       ej!                  dcez  dg       ej!                  ddez  dg        deD ]q  ZdfD ]j  Zej!                  dgedhedidg       ej!                  djedhedidg       ej!                  dgedhedkdg       ej!                  djedhedkdg       l s edlk(  rWd dmlmZ dnZeD ]3  Z e       Z ee        e       Z edoeez
          e        eeez
  z  Z5  edpe        edqt               yy)r    )*)ifacNz-dps     z-raisec                    	  ||      }|j                  }|j                  }|j                  }|j                  }	t        dz  }
d}t        ||z
        t        |      |
z  kD  rbd}t                t        d| dt        |d      d	t        |d      d
t        t        ||z
              d	       t         dz  a t        rt        t        ||	z
        t        |	      |
z  kD  rbd}t                t        d| dt        |d      d	t        |	d      d
t        t        ||	z
              d	       t         dz  a t        rt        |s#t
        j                  j                  d| z         y y #  t         dz  a t        r t                t        |        t        d       dd l}|j	                  t        j                         d          t                Y y xY w)Nr   	EXCEPTIONr         zError! z (re = 
   z	, wanted z, err=)z (im = z%s ok; )errcountraise_print	tracebackprint_tbsysexc_inforealimagepsabsnstr
SystemExitstdoutwrite)namefunczyxr   xreximyreyimtolerrs               Q/var/www/openai/venv/lib/python3.12/site-packages/mpmath/tests/extratest_gamma.pycheckr(      s}   G &&C
&&C
&&C
&&C
a%C
C
3s7|c#hsl"$SdSVWYl\`adehilelam\nopA
3s7|c#hsl"$SdSVWYl\`adehilelam\nopA

T)* ?
Adk3<<>!,-s   E) )A&Gc                 $   | \  }}t        d|       dt        _        t        |      }t        dz   t        _        |-t        |      }t        |      }t        |      }t        |      }n t        |      }t        |      }||z  }d|z  }dD ]  }|t        kD  r y |t        _        t        d|z         t        dt
        ||       t        dt        ||       t        d	t        ||       t        d
t        ||       t                dt        _         y )NzTesting z =i  2   r   )   r         (   <   Z   x      iX  r   i  i  zdps = %sgammargammaloggamma	factorialr,   )r   mpdpsevalmaxdpsr3   r5   r6   r4   expr(   )caser   result	gamma_valloggamma_valfactorial_val
rgamma_valr8   s           r'   testcaserB   4   s    IAv	-BFQAb[BF~!H	{!!AY
F|%	Iy[
K<j3gua+h:.j(A|4k9a7 L          i     z%s8z%s+0.5z%s+0.37z(0.1+1j)z	(-0.1+1j)z(0.1-1j)z	(-0.1-1j)10jz-10j100j10000jz
-10000000jz(10**100)*jz125+(10**100)*jz-125+(10**100)*jz(10**10)*(1+j)z(10**10)*(-1+j)z(10**100)*(1+j)z(10**100)*(-1+j)z(1.5-1j)z(6+4j)z(4+1j)z(3.5+2j)z(-6-4j)z(-2-3j)z	(-2.5-2j)z(3+3j)z(2-2j)1023zlog(2)4zlog(6)5zlog(24)z0.5z	log(pi)/2z1.5zlog(sqrt(pi)/2)z2.5zlog(3*sqrt(pi)/4)zmpf('0.37')z0.25z)log(sqrt(2*sqrt(2*pi**3)/agm(1,sqrt(2))))z-0.4zmpf('-1.9')zmpf('12.8')zmpf('33.7')zmpf('95.2')zmpf('160.3')zmpf('2057.8')25zlog(ifac(24))80zlog(ifac(79))500zlog(ifac(500-1))8000zlog(ifac(8000-1))z8000.5zmpf('8000.1')zmpf('1.37e10')zmpf('1.37e10')*(1+j)zmpf('1.37e10')*(-1+j)zmpf('1.37e10')*(-1-j)zmpf('1.37e100')zmpf('1.37e100')*(1+j)zmpf('1.37e100')*(-1+j)zmpf('1.37e100')*(-1-j)z3+4ja  mpc('-1.7566267846037841105306041816232757851567066070613445016197619371316057169472361826396083480461846305298860734828967253578064447068977111523651210600259708734715632405373076389685095561916961679704883904239638670319343338908388009531786948197210025029725361069435208930363494971027388382086721660805397916323064321605458016797620170995150951921863546031736733861250062671478363174983174780484475256740163443225458588326103258610863362045919438223029718235161814175530618223688296232894588415495615809337292518431903058265147109853171056894218498782764388681620045286085387381541336752982963143014622747051765799672222008686321794822143126731612769761171322046332838061619713895191371243359764435612951384238091232760634271570950240717650166551484551654327989936028503008171693413044615024511055703811707517257682549003543406938864812466781522545540015867361207626414225907787661003765157377139385212757490499491284143906816424244705094759339932733567910991920631339597278805393743140853391550313363278558195609260225928','4.74266443803465792819488940755002274088830335171164611359052405215840070271590681300937317113976705186354250813687568855081767037900279030487082277549828099966758775645041925653923672591196104389515931289826469459903721798606134294436498090428077839141927485901735557543641049637962003652638924845391650954629013775555010722490760652938524839066763429718336190205584222879898420095911804502117983417158744776290996876098194664579906420307070808945181689246805549314043258530272479246115112769957368212585759640878745385160943755234939803677490810820437032389675754312185365002552976365531236035424489891346371159557028288389233931136182050741628120897320644145308130874835332032440560546577484241423134079056537777170351934430586103623577814746004431994179990531852293907799261385520580149820193022197572124649872089512234542069845198000512157973103058858459643347618317513706729969847568154109777507997488135638784405288158432214886648743541773208808731479748217023665577802702269468013673719173759245720489020315779001'))      "   @   z
(2+j)*%s/3z(-2+j)*%s/3z(1+2*j)*%s/3z
(2-j)*%s/3z(20+j)*%s/3z(-20+j)*%s/3z(1+20*j)*%s/3z(20-j)*%s/3z(200+j)*%s/3z(-200+j)*%s/3z(1+200*j)*%s/3z(200-j)*%s/3)r   r   r	      rU   r-   iiiirG   i7ii߱)z1e-5z1e-20z1e-100z1e-10000zfadd(z,'z',exact=True)zfsub(zj',exact=True)__main__)default_timerg        z
Test time:zTotal time:zErrors:)mpmathmpmath.libmpr   r   argvintindexr:   r   r   r(   rB   	testcaseslistrangenappendr   t__name__timeitr_   clocktot_timer<   t1t2r    rC   r'   <module>rr      s     
	SXX#((..0234FF	SXX	$+L8 	 
eAcl	d5T"#56	6AdQh%& 
7	tCAhlD)*i!mT*+ 
 
 [T [d [ T [ d 	[
 [ [ [ 
4 [ t [  [ D [ T [ 4 [ D [ D [  T ![" T #[$ 
4 %[& 
4 '[( T )[* T +[, D -[. D /[0 d 1[2 
4 3[4 
4 5[6 
4 7[8 c
9[: c
;[< h=[> h?[@ i A[B  C[D  E[F  G[H  I[J 	4 5K[L M[N  O[P  Q[R  S[T  U[V  W[X $ Y[Z  [[\  ][^  _[` 	 a[b 
4 c[d $ e[f 4 g[h  i[j $ k[l $ m[n $ o[p D q[r $ s[t 4  u[v 4  w[x 4  y[z &'{[ [	z 
AlQ&-.ma'./nq($/0lQ&-.ma'./nq($/0o)401ma'./nq($/0o)401&*D12nq($/0 
 
LA41=tDE1=tDEA>EFA>EF	 5 
L z-HWWlBrE"RU  
-"	)X rC   