K i< xddlddlmZddlZdejvr2eejejj ddzZndZdejvZda dZ d Z gZ e edd e ed d d zD]Ze j!dezdgedd D].Ze j!dezdge j!dezdg0e gddgddgddgddgddgddgddgddgddgddgddgddgddgddgd dgd!dgd"dgd#dgd$dgd%dgd"dgd&dgd'dgd(dgd$dgd)dgd*dgd+d,gd-d,gd.d/gd0d1gd2d3gd4d5gd6d7gd8d9gd:dgd;ddgd?dgd@dgdAdgdBdgdCdgdDdEgdFdGgdHdIgdJdKgdLdgdMdgdNdgdOdgdPdgdQdgdPdgdRdgdSdgdTdgdUdgdTdgdVdWgz Z dXD] Ze j!dYezdge j!dZezdge j!d[ezdge j!d\ezdge j!d]ezdge j!d^ezdge j!d_ezdge j!d`ezdge j!daezdge j!dbezdge j!dcezdge j!ddezdgdeD]qZdfD]jZe j!dgedhedidge j!djedhedidge j!dgedhedkdge j!djedhedkdglsedlk(rWddmlmZdnZe D]3ZeZe eeZedoeez eeeez z Z5edpeedqtyy)r)*)ifacNz-dpsz-raisec ||}|j}|j}|j}|j} tdz} d} t||z t|| zkDrbd} ttd|dt|dd t|dd tt||z d tdz atrtt|| z t| | zkDrbd} ttd|d t|dd t| dd tt|| z d tdz atrt| s#t jjd |zyy#tdz atrtt|tdddl}|j t j dtYyxYw)Nr EXCEPTIONrzError! z (re = z , wanted z, err=)z (im = z%s ok; )errcountraise_print tracebackprint_tbsysexc_inforealimagepsabsnstr SystemExitstdoutwrite) namefunczyxrxreximyreyimtolerrs b/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mpmath/tests/extratest_gamma.pycheckr(s}  G &&C &&C &&C &&C a%C C 3s7|c#hsl"  $S dSVWYl\`adehilelam\nopA    3s7|c#hsl"  $S dSVWYl\`adehilelam\nopA     T)* ? A     d  k3<<>!,- s E))A&Gc$|\}}td|dt_t|}tdzt_|-t |}t |}t|}t|}n t|}t|}||z}d|z }dD]}|tkDry|t_td|ztdt ||tdt||td t ||td t||td t_y) Nz Testing z =i2r) r (<ZxiXriizdps = %sgammargammaloggamma factorialr,) rmpdpsevalmaxdpsr3r5r6r4expr()caserresult gamma_val loggamma_val factorial_val rgamma_valr8s r'testcaserB4sIAv - BF QA b[BF ~!H { !! AY F|  % I y[ K  <  j3 gua+ h:. j(A|4 k9a7  iz%s8z%s+0.5z%s+0.37z(0.1+1j)z (-0.1+1j)z(0.1-1j)z (-0.1-1j)10jz-10j100j10000jz -10000000jz (10**100)*jz125+(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)1023zlog(2)4zlog(6)5zlog(24)z0.5z log(pi)/2z1.5zlog(sqrt(pi)/2)z2.5zlog(3*sqrt(pi)/4)z mpf('0.37')z0.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))500zlog(ifac(500-1))8000zlog(ifac(8000-1))z8000.5z mpf('8000.1')zmpf('1.37e10')zmpf('1.37e10')*(1+j)zmpf('1.37e10')*(-1+j)zmpf('1.37e10')*(-1-j)zmpf('1.37e100')zmpf('1.37e100')*(1+j)zmpf('1.37e100')*(-1+j)zmpf('1.37e100')*(-1-j)z3+4jampc('-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)rrr rUr-iiiirGi7ii߱)z1e-5z1e-20z1e-100z1e-10000zfadd(z,'z ',exact=True)zfsub(zj',exact=True)__main__) default_timergz Test time:z Total time:zErrors:)mpmath mpmath.libmprrargvintindexr:rr r(rB testcaseslistrangenappendrt__name__timeitr_clocktot_timer<t1t2rrCr'rrs9  SXX #((..023 4F F SXX  $+L8   eAcl d5T"#56 6'A dQh%&' tC,A hlD)* i!mT*+, [ T[ d[ T[ d [  [  [[ 4[t[[D[T[4[D[D[ T![" T#[$ 4%[& 4'[( T)[* T+[, D-[. D/[0 d1[2 43[4 45[6 47[8c 9[:c ;[<h=[>h?[@iA[B C[DE[FG[HI[J 45K[LM[NO[PQ[RS[TU[VW[X$Y[Z[[\][^_[` a[b 4c[d$e[f4g[hi[j$k[l$m[n$o[pDq[r$s[t4 u[v4 w[x4 y[z&'{[[ z  1A lQ&-. ma'./ nq($/0 lQ&-. ma'./ nq($/0 o)401 ma'./ nq($/0 o)401 &*D12 nq($/0 1 LGA 4G1=tDE1=tDEA>EFA>EF GG z-H W W lBrE" RU  -" )XrC