
    g<              	       2   d dl T d dlmZ d dlZdej        v r2 eej        e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                    dez  dg            edd
          D ]6Ze                    dez  dg           e                    dez  dg           7e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                    dYez  dg           e                    dZez  dg           e                    d[ez  dg           e                    d\ez  dg           e                    d]ez  dg           e                    d^ez  dg           e                    d_ez  dg           e                    d`ez  dg           e                    daez  dg           e                    dbez  dg           e                    dcez  dg           e                    ddez  dg           =deD ]ZdfD ]zZe                    dgedhedidg           e                    djedhedidg           e                    dgedhedkdg           e                    djedhedkdg           {edlk    rld dmlmZ dnZeD ]BZ e            Z ee            e            Z edoeez
              e             eeez
  z  ZC edpe            edqt                     dS dS )r    )*)ifacNz-dps     z-raisec                 P   	  ||          }n#  t           dz  a t          r t                       t          |            t          d           dd l}|                    t          j                    d                    t                       Y d S xY w|j        }|j        }|j        }|j        }	t          dz  }
d}t          ||z
            t          |          |
z  k    r}d}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  k    r}d}t                       t          d| dt          |d          d	t          |	d          d
t          t          ||	z
                      d	           t           dz  a t          rt          |s$t
          j                            d| z             d S d S )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               X/var/www/html/ai-engine/env/lib/python3.11/site-packages/mpmath/tests/extratest_gamma.pycheckr(      s!   DGG
A 	dk3<>>!,---
&C
&C
&C
&C
a%C
C
3s7||c#hhsl""$$$SdSVWYllll\`adehilelamam\n\n\n\nopppA 	
3s7||c#hhsl""$$$SdSVWYllll\`adehilelamam\n\n\n\nopppA 	 +
T)*****+ +s
    A>Bc                    | \  }}t          d|           dt          _        t          |          }t          dz   t          _        |=t          |          }t          |          }t          |          }t          |          }n(t          |          }t          |          }||z  }d|z  }dD ]}|t          k    r d S |t          _        t          d|z             t          dt
          ||           t          dt          ||           t          d	t          ||           t          d
t          ||           t                       dt          _        d S )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~!HH	{{!!AYY

F||%%	Iy[
K 
 
<<EEj3gua+++h:...j(A|444k9a777
 
          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|             



	SXS#(..002344FFF	SX	$+ $+ $+L  8 	 
eeAcll		dd55T"#5#566	6 ' 'AdQh%&&&&	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 
 1 1AlQ&-...ma'.///nq($/000lQ&-...ma'.///nq($/000o)40111ma'.///nq($/000o)40111&*D1222nq($/0000 
L G GA4 G G111=tDEEE111=tDEEEAAA>EFFFAAA>EFFFF	G z------H  UWWUWWlBrE"""RU	E-"""	E)X rC   