Ë
    óÿæi<  ã            	       ó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/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/mpmath/tests/extratest_gamma.pyÚcheckr(      s}  € ðÙ�‹Gˆð �&‰&€CØ
�&‰&€CØ
�&‰&€CØ
�&‰&€CÜ
ˆa‰%€CØ
€CÜ
ˆ3ˆs‰7ƒ|”c˜#“h˜s‘lÒ"ØˆÜŒÝº$ÄÀSÈÅÌdÐSVÐWYÍlÔ\`ÔadÐehÐilÑelÓamÕ\nÐoÔpÜ�A‰ˆÝÜÐÜ
ˆ3ˆs‰7ƒ|”c˜#“h˜s‘lÒ"ØˆÜŒÝº$ÄÀSÈÅÌdÐSVÐWYÍlÔ\`ÔadÐehÐilÑelÓamÕ\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ë   € Ø�I€A€vÜ	ˆ-˜ÔØ„B„FÜˆQ‹€AÜ�b‰[„B„FØ€~Ü˜!“Hˆ	Ü “{ˆÜ! !›ˆÜ˜A“Y‰
ä˜F“|ˆÜ˜Ó%ˆ	Ø˜I™ˆØ�y‘[ˆ
ÛKˆØ”Š<ÙØŒŒÜˆj˜3ÑÔÜˆg”u˜a Ô+Üˆhœ  :Ô.Üˆjœ( A |Ô4Üˆkœ9 a¨Ô7ÜŒØŒ�ñ Ló    éÈ   éÉ   iÐ  é   z%sé8ÿÿÿz%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-   éÿÿÿÿéþÿÿÿéýÿÿÿéüÿÿÿiìÿÿÿiëÿÿÿiÎÿÿÿiÍÿÿÿrG   i7ÿÿÿià±ÿÿiß±ÿÿ)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  ðÜ Ý ã 
Ø	ˆS�X‰XÑÙ�—‘˜#Ÿ(™(Ÿ.™.¨Ó0°Ñ2Ñ3Ó4�Fà€Fà	�S—X‘XÐ	€à€ò$+òLð8 €	ñ 
‰e�A�c‹lÓ	™d¡5¨¨T°"Ó#5Ó6Ô	6€AØ×Ñ�d˜Q‘h Ð%Õ&ð 
7á	ˆt�CŽ€AØ×Ñ�h ‘l DÐ)Ô*Ø×Ñ�i !‘m TÐ*Õ+ð 
ð 
ð [Øˆ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Ð 5ðK[ð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Ø×Ñ�l QÑ&¨Ð-Ô.Ø×Ñ�m aÑ'¨Ð.Ô/Ø×Ñ�n qÑ(¨$Ð/Ô0Ø×Ñ�l QÑ&¨Ð-Ô.Ø×Ñ�m aÑ'¨Ð.Ô/Ø×Ñ�n qÑ(¨$Ð/Ô0Ø×Ñ�o¨Ñ)¨4Ð0Ô1Ø×Ñ�m aÑ'¨Ð.Ô/Ø×Ñ�n qÑ(¨$Ð/Ô0Ø×Ñ�o¨Ñ)¨4Ð0Ô1Ø×ÑÐ&¨Ñ*¨DÐ1Ô2Ø×Ñ�n qÑ(¨$Ð/Ö0ð 
ó 
L€AÛ4ˆØ×Òºº1Ð=¸tÐDÔEØ×Òºº1Ð=¸tÐDÔEØ×ÒººAÐ>ÀÐEÔFØ×ÒººAÐ>ÀÐEÕFñ	 5ð 
Lð ˆzÒÝ-Ø€HÛˆÙ‹WˆÙ�ŒÙ‹WˆÙˆl˜B˜r™EÔ"ÙŒØ�R˜‘UÑ‰ð ñ 
ˆ-˜Ô"Ù	ˆ)”XÕð rC   