K irddlmZddlmZejjZdZdZdZdZdZ dZ d Z y ) )mp)libmpcdt_tjtj}tjdtj z5tj dd}gdd}}} |tj||zz z }|dz }|j||j|\}}||krn|dkDr td Z dddtjd tj|z}ttjdzd z z }||ksJtjd dtj gdd }t||z }||ksJy#1swYxYw)Nlevinumethodvariantriteration limit exceeded?cd||zz SNr ns ]/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/mpmath/tests/test_levin.pyztest_levin_0..s!QU)r levin_variant)rdpsmpfeps extraprecprecroneappend update_psum RuntimeErrorexplogabspinsuminf) rLSsrveerrws r test_levin_0r2 sE BF &&.C a"''k " H HHg 5aa1 1q5! !A FA HHQK==#DAq3w4x|,FGG  H &&rvvc{" #C a"%%1*q. !C 99 #a[7TWXA a!e*C 99! H Hs A9E++E4cdt_tjtj}tjdtj z5tj dd}gd}} tj|dz}|dz }|j||j|\}}||krn|dkDr td Y dddtjd tj|z}ttjd z }||ksJtjd dtjgdd }t||z }||ksJy#1swYxYw)Nrrrr.r r @@rrryc |dzS)Nr4rrs rrztest_levin_1..3s !-rr)rrrrrr rr"updater$r%r&r'zetar)r*) rr+Arr-r.r/r0r1s r test_levin_1r9"s7 BF &&.C a"''k " H HHg 511q f%A FA HHQK88A;DAq3w4x|,FGG  H &&rvvc{" #C a"''%. !C 99 '!RVVwX[\A a!e*C 99! H Hs A6E''E0c dt_tjd tjtj}tjdtj z5tj dd}d} d |ztj|z | zz}|j|\}}|dz }||krn|d kDr td R dddtjd tj|z}tj fd dtjg}t|z }||ksJtj fddtjgdd}||ksJy#1swYxYw)Nr rsiditr rr rrrcBtj| d|z zz Srrr%xzs rrztest_levin_2..GsbffaRj!AaC%0rcHd|ztj|z| zzS)Nr>rfacrrCs rrztest_levin_2..Ls#2!)bffQi/!);rr)rrrrrr rrFstepr$r%r&quadr*r'r)) rr+rr-r.r/exactr0r1rCs @r test_levin_2rK7sJ BFffRjA &&.C a"''k " H HHf 4 a"&&)#aQBi/A66!9DAq FA3w4x|,FGG   H &&rvvc{" #C GG0!BFF >Fc \ dt_tjd tjtj}tjdtj z5tj dd}d\}} | |ztjd |zztj|tjd|zzd |zzz z }|dz }|j|\}}||krn|d kDr td  dddtjd tj|z}tj fd dtjgdztjdtjzz }t!|z }||ksJtj" fddtjgdddtj zdgt%d Dcgc]}dc}z} t!|| z }||ksJy#1swY xYwcc}w)Nrrrr=r )rrr rr皙?cNtj| |zdz |dzzz S)NrrNr@rAs rrztest_levin_3..^s'bffqb1fqj1qAv:&=>rrc |ztjd|zztj|tjd|zzd|zzz S)NrNrrErGs rrztest_levin_3..csHA2'BFF1q5M1RVVAYA5NRSWXRX5YZr)r rworkprecsteps)rrrrrr rrF step_psumr$r%r&rIr*sqrtr(r'r)xrange) rr+rr-r.r/rJr0rBr1rCs @r test_levin_3rXOs! BFffQiA &&.C ai H HHg 51 1"q266!a%=(BFF1Iq1u ,Ea,PQ QA FA;;q>DAq3w4x|,FGG   H &&rvvc{" #C GG>266 Ka ORTRYRYZ[^`^c^cZcRd dE a%i.C 99 Z]^`b`f`f\gryLO\]^`^e^e\epqorAGHLAMuN|}vwuNoN OA a!e*C 99% H H uNs+B%H3 H)H&c dt_tjtj5tjddztj fddtj gddz z }t|tjz dksJ dddtjd tjtjz}tj d dtj gd }t|tjd z |ksJd fd}tj |dtj gdtdDcgc]}dc}}tjd tjdz dtjdz dtjdz }t||z |ksJy#1swYGxYwcc}w)Nrr;ic|dz zSrrrGs rrz!test_levin_nsum..lsaAaC&krr l)r g|=rOcd|dz z|z S)Nr>r rrs rrz!test_levin_nsum..qs21+/rr<ry@?cHtjdtjdz |tjdtjdz |z|zztjdtjdz |tj|zz S)NrrNr )rrfrrFrGs rrz!test_levin_nsum..usy"%%BFF1I q)BEE!bffQi-,CCadJbeeTUXZX^X^_`XaTacdNehjhnhnophqNqrrrrr)r rTr^rN)rrrr rr)r*r'eulerr%r&rrWhyp2f1)arfrBr.rJrCs @rtest_levin_nsumrdgsc BF bgg ) FF2J3  GG)Arvv; EA M1rxx< 5((() &&rvvbff~% &C )Arvv;HA q266!9}  ## #ArA Arvv;vd|:T!2:TUA IIa"&&)mQ]Aq M1 EE uqy>C  ));UsA+G!" G.!G+cdt_tj}gdd}}} |d|z tjz||zz z }|dz }|j ||j |\}}|tj krn|dkDr tdotjdtjtj z}t|tjdzd z z }||ksJy) Nrrr r>rrrr ) rr cohen_altr!r"r#rr$r%r&r'r()ACr,r-rr.r/rr0s rtest_cohen_alt_0rizs BF B!Q!qA  qy\BFF "a!e ,, Q  ~~a 1 rvv:  t8<(BCC  &&rvvbff~% &C a"%%1*r/! "C 99rcdt_g}tj}d} |jtjdtj d|zdz z z|jtjdtj d|zz z |dz }|j |\}}|tjkrn|dkDr tdtj|}t|dz }|dksJy)Nrr rrrg?g-q=) rrrgr"loggammar!r6rr$r%r')r8rhrr.r/r0s rtest_cohen_alt_1rls BF A B A  "++a"&&AEAI"6678 "++a"&&AE"22334 Qyy|1 rvv:  t8<(BCC  q A a"" #C ;;rN) mpmathrrbackendrWr2r9rKrXrdrirlrrrros?    **00 & r